我使用numpy
/ scipy
/ pynest
做在Mac OS X的性能有一定的研究计算,我们从学校租了400个节点的集群(在Linux),这样的任务可以做平行。 问题是,我们是不允许到群集(没有安装任何额外的包sudo
或任何安装工具),他们只提供原始蟒蛇本身。
我怎样才能在集群上运行我的剧本呢? 有没有什么办法的模块集成(numpy的,也SciPy的有一些编译的二进制文件,我认为),以便它可以解释和执行,而无需安装包?
我使用numpy
/ scipy
/ pynest
做在Mac OS X的性能有一定的研究计算,我们从学校租了400个节点的集群(在Linux),这样的任务可以做平行。 问题是,我们是不允许到群集(没有安装任何额外的包sudo
或任何安装工具),他们只提供原始蟒蛇本身。
我怎样才能在集群上运行我的剧本呢? 有没有什么办法的模块集成(numpy的,也SciPy的有一些编译的二进制文件,我认为),以便它可以解释和执行,而无需安装包?
你并不需要root权限在你的home目录来安装软件包。 你可以做到这一点的命令如
pip install --user numpy
或从源
python setup.py install --user
见https://stackoverflow.com/a/7143496/284795
所以,如果服务器没有第一种选择是方便多了, pip
或easy_install
,你应该礼貌地询问管理员添加它,解释利于他们(他们不会被个别包装的要求不再打扰)。
你可以创建通过虚拟环境的virtualenv包。
这将创建一个文件夹(比如venv
与Python可执行程序的新副本和新的) site-packages
目录,在其中您可以“安装”的任何数量的软件包,而无需任何形式的管理权限都没有。 因此,通过激活环境source venv/bin/activate
会给Python的这等同于具有安装这些软件包的环境。
我知道这个工程的SGE集群,但如何在虚拟环境中被激活,可能取决于你的集群的配置。
你可以尝试安装virtualenv
使用以下步骤你自己的站点包目录中的群集上:
从下载的virtualenv 这里 ,把你的集群
使用安装setup.py
到一个特定的本地目录作为自己的站点包:
python setup.py build python setup.py install --install-base /path/to/local-site-packages
该目录添加到您的PYTHONPATH:
export PYTHONPATH="/path/to/local-site-packages:${PYTHONPATH}"
创建的virtualenv:
virtualenv venv
你可以通过调用导入从任意路径的模块:
sys.path.append()
Python发布巨蟒解决了许多在这个问题讨论的问题。 蟒蛇不需要管理员或root访问权限,并能够安装到你的home目录。 蟒蛇自带有问题(SciPy的,numpy的,sklearn,等...),很多的包还有畅达安装程序安装额外的软件包应该附加的人是必要的。
它可以从以下网址下载https://www.continuum.io/downloads