如何制作' pip install'不卸载其他版本?

时间:2015-11-09 16:50:49

标签: python pip

我在HPC上管理多个模块,并希望使用pip为工具安装一些要求。

我不会使用virtualenv,因为他们不能很好地使用我们的模块系统。我想安装模块本地版本的软件包,并在加载模块时正确设置PYTHONPATH,当我正在安装的软件包也没有安装在默认的python环境中时,这个工作正常。

我不想做的是在安装模块本地版本时卸载默认的python版本的软件包。

例如,一个包需要numpy==1.6,而我使用的python安装的默认版本是1.8.0。当我

pip install --install-option="--prefix=$RE_PYTHON" numpy==1.6

其中RE_PYTHON指向模块本地site-packages目录的顶部,numpy==1.6安装正常,然后pip继续并开始从python树中卸载1.8.0我正在使用(为什么它想要卸载一个较新的版本超出我,但我想避免这种情况,即使我正在进行本地安装,例如numpy==1.10.1)。

如何防止pip这样做?这真的很烦人,而且我找不到一个不涉及virtualenv的解决方案。

1 个答案:

答案 0 :(得分:4)

您必须通过指定pip选项(或-I)明确告诉--ignore-installed忽略当前安装的软件包。所以你应该使用:

PYTHONUSERBASE=$RE_PYTHON pip install -I --user numpy==1.6

thisIan Bicking的答案中提到了这一点。

相关问题