1.加载环境变量
module load Python/3.8.10-anaconda
2.安装依赖
2.1 下载依赖
在外网一台linux机器上,创建相同python版本的虚拟环境,激活环境变量
conda create -n phonopy python=3.8.10
conda activate phonopy
创建一个下载目录
mkdir pypi_packages
cd pypi_packages
2.1.1下载依赖 matplotlib的依赖
pip download -d . matplotlib
wget https://files.pythonhosted.org/packages/43/6e/59853546226ee6200f9ba6e574d11604b60ad0754d2cbd1c8f3246b70418/Pillow-9.1.1.tar.gz
其中Pillow的二进制经测试不能直接安装,需要手动安装,所以还要下载它的源码包
2.2.2 下载其他依赖
pip download -d . phonopy
wget https://files.pythonhosted.org/packages/08/12/db0d8c4d64240996a61671dbe9ff30fdafb887a6ccf101c11728f5f6c5af/spglib-1.16.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
3.安装
3.1安装依赖
将外网下载好的二进制和源码波传到天河二号上
pip install spglib-1.16.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
pip install h5py-3.7.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
pip install kiwisolver-1.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pip install pyparsing-3.0.9-py3-none-any.whl
pip install cycler-0.11.0-py3-none-any.whl
pip install packaging-21.3-py3-none-any.whl
pip install fonttools-4.33.3-py3-none-any.whl
pip install six-1.16.0-py2.py3-none-any.whl
pip install python_dateutil-2.8.2-py2.py3-none-any.whl
//Pillow没有打包好的二进制,需要编译安装
tar xzf Pillow-9.1.1.tar.gz
cd Pillow-9.1.1/
pip install .
//回到刚才的目录继续安装剩下的依赖
cd ..
pip install matplotlib-3.5.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pip install PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
其中不用安装numpy,因为使用module load Python/3.8.10-anaconda 后系统的
3.2 编译Phonopy
解压下载好的Phonopy
源码包,指定路径编译安装
tar xzf phonopy-2.15.1.tar.gz
python setup.py install --prefix=/WORK/XXXX/software/phonopy
声明环境变量
export PATH=/WORK/XXXX/software/phonopy/bin:$PATH
export PYTHONPATH=/WORK/XXXX/software/phonopy/lib/pythonXXX/site-packages:$PYTHONPATH
可加入/.bashrc
文章来源bitllion的hpc小站