我有个脚本
mkvirtualenv foo
pip install -r foo/requirements.txt || abort_with_error_message
pip freeze
pip安装说
Successfully installed <List of packages>
其中软件包列表中的所有内容均包含在requirements.txt中。但是pip freeze
列出的软件包较少。特别是,gevent-1.4.0
在需求和“已成功安装”中,但没有冻结,~/.virualenvs/foo/*/dist-packages
或我可以导入的东西。那里什么都没有。
在-pv安装中添加-vvv不会显示任何有用的信息。
在我的环境中确实有一些很奇怪的东西可以触发这个,但是我不知道在哪里看。是什么让pip宣布成功安装从未实际安装的软件包?
编辑以添加:
我可以通过使用
解决这个问题source /usr/local/bin/virtualenvwrapper.sh
代替
source ~/.bashrc
或
#!/bin/bash -i
在脚本中。 (我的.bashrc包含源virtualenvwrapper行。)
我为此感到困惑。我的.bashrc唯一要做的其他事情是设置一些不相关的变量,在路径中添加一些内容,然后调用/ etc / bashrc(AWS GNU / Linux,由CentOS派生)。