【发布时间】:2015-11-09 16:50:49
【问题描述】:
我正在管理 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 指向模块本地站点包目录的顶部,numpy==1.6 安装正常,然后 pip 继续并开始从我正在使用的 python 树卸载 1.8.0(为什么它想要卸载较新版本超出了我的能力,但即使我在本地安装 numpy==1.10.1),我也想避免这种情况。
如何防止 pip 这样做?真的很烦,一直没能找到不涉及virtualenv的解决方案。
【问题讨论】:
-
你为什么不想使用 virtualenv?听起来正是这样做的目的。
-
我使用这个技巧在我的 python 脚本文件夹中安装包的“本地”副本。然后就可以在脚本中“from.import my_local_version”绕过电脑的本地包了。