4

我很困惑。我有一个工作pip install命令(意思是:它从 Github 安装一个对我有用的库版本),我有一个非工作命令(意思是:它安装一个对我不起作用的库版本)方式将该要求放入requirements.txt文件中。

更具体:

如果我在命令行上输入

pip install -e 'git://github.com/mozilla/elasticutils.git#egg=elasticutils'

然后测试我的程序,一切正常。如果我将此行放入我的requirements.txt

-e git://github.com/mozilla/elasticutils.git#egg=elasticutils

然后运行我的程序,它因错误而中断(只有库应该已经改变,所以我猜这两个版本之间的库已经改变了)。

但是两个版本不应该完全相同吗?(当然,我已经尽力在两次测试之间再次删除已安装的库版本,使用pip uninstall elasticutils.)

欢迎提供任何信息……</p>

4

2 回答 2

1

requirements.txt是的,正如我在上面的评论中所写,当状态与包中的依赖项不同时,似乎存在依赖项覆盖。在我的情况下,手动安装软件包还安装了(较新的)版本requests,即 1.2.0。使用requirements.txt总是安装的(由于覆盖)版本 0.14.2 的requests.

通过更新中的requests版本解决了问题requirements.txt:-)

于 2013-05-17T15:03:45.507 回答
0

好吧,我不知道到底有什么区别,但是当我想从 requirements.txt 安装一些东西并且它是一个 git repo 时,我执行以下行:

#git+https://github.com/user/package_name.git

然后安装如下:

pip install -r requirements.txt
于 2013-05-17T14:56:34.737 回答