pip -r在virtualenv中没有按预期工作

时间:2013-03-15 10:08:06

标签: virtualenv pip distribute

我对virtualenv中pip的行为有一个非常奇怪的问题。

我已经设置了

export PIP_REQUIRE_VIRTUALENV=true
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
export VIRTUALENV_DISTRIBUTE=true

现在,当我在virtualenv中并希望安装我的依赖项时:

pip install -r requirements/_base.txt

(出于测试目的,要求/ _base.txt仅包含:)

Django==1.5

无论如何,当我尝试安装它时,我只能得到:

Downloading/unpacking Django==1.5 (from -r requirements/_base.txt (line 1))
Running setup.py egg_info for package Django

warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'

之后,没有安装Django。

这是一个奇怪的部分:当我用

手动安装Django时
pip install Django==1.5

它完美运行(虽然出现了相同的两个警告):

Downloading/unpacking Django==1.5
Running setup.py egg_info for package Django

warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: Django
Running setup.py install for Django
changing mode of build/scripts-2.7/django-admin.py from 644 to 755

warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
changing mode of /usr/local/share/python/django-admin.py to 755
Successfully installed Django
Cleaning up...

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,并意识到删除版本要求解决了问题。不知道为什么......

答案 1 :(得分:0)

我弄清楚为什么会发生这种情况,这也可能会解决其他人看到此页面的问题。对我来说,问题是我有一个不能通过pip自动安装的要求。 pip freeze导出了软件包名称和版本,但无论出于何种原因,pip都无法直接在需求安装中安装该软件包。我必须从zip文件中手动安装它。

您可能遇到的问题是,您有一个pip的需求安装程序无法安装的要求。检查输出日志中是否有红色文本,错误等等。

我用这篇文章想出了这个: pip fails to install packages from requirements.txt