作者uranusjr (←这人是超级笨蛋)
看板Python
标题Re: [问题] github下载package使用的问题
时间Mon Feb 5 17:04:17 2018
※ 引述《BeAnActuary (Actuary)》之铭言:
1F:→ uranusjr: 先解释一下你所谓「安装」是什麽意思; 你想要继续开发这 02/05 16:10
2F:→ uranusjr: 个专案本身吗?还是你想在别的专案里使用这个专案的程式 02/05 16:10
3F:→ uranusjr: 码?还是这个专案本身是一个完整的工具 (像 git 这样), 02/05 16:11
4F:→ uranusjr: 你要直接把它拿来在 command line 之类的地方使用? 02/05 16:12
: 谢谢指正,这个专案本身就是一个完整的工具,我只是想要直接使用它并作一些数据测试
: 我以为install就是意指安装...
Install 是安装没错
但是因为 Python 本身就有太多种用法
所以「安装一个套件」可以代表很多种意思, 每种用法有自己的最佳解
回到你的问题, 看起来这主要有两种解法, 都是用 Pip
1. pip install
看你的描述, 这个工具并没有被放上 PyPI
但是 Pip 支援直接从 Git 安装, 所以你可以
pip install git+
https://github.com/author/repo.git#egg=套件名
注意最後面的 #egg=... 部分
这会被 Pip 用来为这个套件取名
通常你可以看 setup.py 里面的 name 参数, 用一样的就好
这样的缺点是没办法使用 Pip 的更新功能
因为它自己不知道套件有没有更新, 也不懂要怎麽用 Git 更新
当你发现有新版本时, 只能重新安装一次
pip install --ignore-installed git+...後面一样
2. pip install --editable
Pip 同时也支援 out-of-site 安装
这个模式可以让你把任意本地路径的套件装到 Python 里
git clone
https://github.com/author/repo.git 专案目录
pip install --editable 专案目录
这会让 Python 能够直接使用你 clone 下来的那个目录, 而不另外装一份
(类似捷径的概念, 不是拷贝一份, 而是连结到这里)
所以当你要更新时, 直接在专案目录里 git pull, 就能在 Python 用到新版本
缺点是你自己要记得这件事情, 不要不小心把 clone 下来的东西删了
===========
顺带讲一下, 这年头如果你不需要开发 Python 套件, 只需要「使用」套件
那麽应该不会直接用到 setup.py (其实开发的时候也不太需要, 这是别话)
Pip 应该可以满足你所有的安装需求
如果套件没办法正确用 Pip 安装, 就应该回报作者
如果作者不修复, 这个套件的状态大概也很危险
要嘛是根本没人用, 要嘛是作者根本放生 (通常好像也是同一件事)
那你用下去了大概也是迟早要出事, 早点跳船才是上策
--
"问おう、贵方が私のマスターか?"
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.94.62
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1517821461.A.891.html
5F:推 aszx4510: 感谢教学,学到一课。 02/06 01:08
6F:推 BeAnActuary: 第一种方法被要求要输入使用者帐号及密码(应该是开发 02/06 14:50
7F:→ BeAnActuary: 者的资讯才能下载~) 02/06 14:50
8F:推 BeAnActuary: 方法2 试验成功 谢谢详细的教学 好多东西要学啊~ 02/06 15:02