【发布时间】:2014-06-29 20:45:30
【问题描述】:
我有一个使用 Python 的集群系统和一些安装在该系统上的模块 - 但是我想使用该模块的最新版本 - 它有几种旧版本中不存在的方法,所以我构建了它并它在我可以访问的区域的本地部门:
# From my home directory: /gpfs/env/yrq12edu
# Get the source I need for the up to date version of the module I want to install locally.
svn co svn://svn.code.sf.net/p/simupop/code/trunk simuPOP
# Install PCRE stuff...
cd pcre-8.34
./configure --prefix=/gpfs/env/yrq12edu/pcre_install
make
make install
export PATH=/gpfs/env/yrq12edu/pcre_install/bin:$PATH
export LD_LIBRARY_PATH=/gpfs/env/yrq12edu/pcre_install/lib:$LD_LIBRARY_PATH
cd ..
# Install Swig Stuff...
cd swig-3.0.0
./configure --prefix=/gpfs/env/yrq12edu/swig_install
make
make install
export PATH=/gpfs/env/yrq12edu/swig_install/bin:$PATH
cd ..
export PYTHONPATH=/gpfs/env/yrq12edu/PythonModules/lib/python2.7/site-packages
# Build the up to date simuPOP module I need locally...
cd simuPOP
python setup.py install --prefix=/gpfs/env/yrq12edu/PythonModules
如何确保当我在集群中执行我的 Python 脚本时,它会尝试使用我的本地模块而不是系统模块?我在构建过程中显然改变了PythonPath,我知道应该允许在本地加载模块,但是在选择系统的选择旧版本或我的新本地安装版本时会加载它。 Python 会只知道偏爱本地的并加载它,还是我必须指定一些选项来强制它?
谢谢, 本·W.
【问题讨论】:
-
如果您需要处理多个版本,Virtualenv 始终是您的朋友。我会去的。
标签: python python-2.7 local python-module