Python 什么';direct pip安装和requirements.txt之间的区别是什么?

Python 什么';direct pip安装和requirements.txt之间的区别是什么?,python,github,pip,requirements.txt,Python,Github,Pip,Requirements.txt,我很困惑。我有一个工作的pip install命令(意思是:它从Github安装一个适合我的库的版本),我有一个非工作的(意思是:它安装一个不适合我的库的版本)方法将需求放入requirements.txt文件中 更具体的: 如果我在命令行上键入 pip install -e 'git://github.com/mozilla/elasticutils.git#egg=elasticutils' 然后测试我的程序,一切正常。如果我将此行放入我的requirements.txt: -e git:

我很困惑。我有一个工作的
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
,在两次测试之间再次删除库的已安装版本)


欢迎提供任何信息…

我不知道确切的区别是什么,但是当我想从requirements.txt安装一些东西并且它是git repo时,我会执行以下命令:

#git+https://github.com/user/package_name.git
然后按以下步骤安装:

pip install -r requirements.txt

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


通过更新
requirements.txt
:-)

中的
requirements
版本解决了问题,我刚刚发现,通过将其放入
requirements.txt
中,它与该文件中的其他行一起进行了评估;一个是陈述
requests==0.14.2
,这似乎覆盖了
elasticutils
包需要的东西。我要看看这是否是解决问题的方法。谢谢你的回答,但我认为这与
requirements.txt
中的其他行有关,这些行似乎覆盖了我想要的包中的依赖项。