在自己目录中安装python包 - refraction-ray/TH2-demos GitHub Wiki
方案一,pip法
1. 加载python
运行module load Python/2.7.9
,或其他版本。
2. 安装包
以安装six包为例,下载相应的whl文件(或zip/tgz文件或文件夹),然后运行:
[myname@ln0 ~]$ pip install --user six-1.10.0.whl
就这么简单,关键是要使用--user
选项。新的six包已经安装在$HOME/.local/lib/python2.7/site-packages
中。
3. 使用
加载module后(module load Python/2.7.9
),其实就跟平时一样用。import时会自动先搜索用户目录。比如输出six包版本和安装位置:
[myname@ln0 ~]$ python -c "import six; print(six.__version__); print(six.__file__)"
1.10.0
/HOME/myname/.local/lib/python2.7/site-packages/six.pyc
方案二,conda法
Conda的环境管理功能允许用户同时安装若干不同版本的Python以及不同版本的package,并能自由切换。以下展示非管理员用户如何在没有root权限的条件下创建环境并安装自己需要的python包。
1. 创建虚拟环境,并在其中安装pip
登录集群后先加载anaconda模块,如:module load anaconda/4.2.0
。
创建一个虚拟环境,比如名为"bigbio":
[myname@ln0 ~]$ conda create -n bigbio pip
... ...
# 根据提示操作
上述命令会同时安装pip,省很多麻烦。
2. 安装
2.1. 进入该虚拟环境,命令提示符会有变化
[myname@ln0 ~]$ source activate bigbio
(bigbio) [myname@ln0 ~]$
每次运行安装命令前,需确保处于虚拟环境中。
2.2 安装package
以numpy为例:
(bigbio) [myname@ln0 ~]$ pip install numpy
... ...
若想查看当前环境中的package及版本,用命令pip freeze
。
2.3 退出环境,命令行提示符也恢复原样
(bigbio) [myname@ln0 ~]$ source deactivate bigbio
[myname@ln0 ~]$
3. 使用
slurm作业脚本中调用相关python包前,也要先运行source activate bigbio
激活环境,如:
[myname@ln0 ~]$ cat foo.sh
#!/bin/bash
source /WORK/app/toolshs/cnmodule.sh
module load anaconda/4.2.0 # 加载 anaconda
source activate bigbio # 激活虚拟环境
python -c "import numpy;" # 调用其中的package
[myname@ln0 ~]$ sbatch foo.sh # 提交作业