PIP无法安装从requirements.txt包(pip fails to install pac

2019-06-25 11:35发布

我试图安装使用需求文件一个Python软件。

>> cat requirements.txt
Cython==0.15.1
numpy==1.6.1
distribute==0.6.24
logilab-astng==0.23.1logilab-common==0.57.1
netaddr==0.7.6
numexpr==2.0.1
ply==2.5
pycallgraph==0.5.1
pyflowtools==0.3.4.1
pylint==0.25.1
tables==2.3.1
wsgiref==0.1.2

所以,我创建了一个虚拟环境

>> mkvirtualenv parser

(parser)
>> pip freeze
distribute==0.6.24
wsgiref==0.1.2

(parser)
>> pip install -r requirements.txt

...然后我的包下载,但不会有错误的安装: http://pastie.org/4079800

(parser)
>> pip freeze
distribute==0.6.24
wsgiref==0.1.2

出人意料的是,如果我尝试手动安装一个软件包,它们安装就好了。 例如:

>> pip install numpy==1.6.1

(parser)
>> pip freeze
distribute==0.6.24
wsgiref==0.1.2
numpy==1.6.1

我搞不清楚了。 到底是怎么回事?

PS:我使用pip v1.1和python V2.7.2用virtualenvvirtualenvwrapper

Answer 1:

它看起来像numexpr封装在一个numpy的安装时间依赖性。 皮普使得两次通过您的要求:首先,下载所有的包和运行每个人的setup.py来获得它的元数据,然后将其安装他们都在第二遍。

所以,numexpr正试图从numpy的进口在其setup.py,但当点子首先运行numexpr的setup.py,它尚未安装numpy的。

这也是为什么你没有看到这个错误,当您安装的软件包一个接一个:如果你安装它们一次一个,numpy的将全部安装在您的环境中,你之前pip install numexpr。

唯一的解决办法是安装pip install numpy之前,你曾经遇到pip install -r requirements.txt -你将不能够使用单个requirements.txt文件,这样做在一个单一的命令。

更多资讯: https://github.com/pypa/pip/issues/25



文章来源: pip fails to install packages from requirements.txt