参考资料:
(1) http://blog.csdn.net/txcokokok/article/details/42178889
(2) http://blog.sina.com.cn/s/blog_86e874d30102vvdd.html
(3) http://muchong.com/html/201208/4874998.html
phonopy安装:
第一步:准备文件
1、python-3.6 (https://www.python.org/downloads/source/)
2、numpy-1.11.2 (http://www.scipy.org/scipylib/download.html)
3、lxml-3.6.4 (http://lxml.de/)
4、matplotlib-1.5.0 (https://sourceforge.net/projects/matplotlib/files/)
5、PyYAML-3.12 (http://pyyaml.org/)
6、phonopy-1.11.0 (https://sourceforge.net/projects/phonopy/)
第二步:安装Python-3.6.0b3.tar.xz
tar xvf Python-3.6.0b3.tar.xz
cd Python-3.6
./configure --prefix= /home/…/phonopy/Python-3.6/build
(在python解压目录事先新建build目录,省略部分根据每个人电脑而定)
make
make install
设置环境变量
vi ~/.bashrc
在.bashrc文件末尾加入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/…/phonopy/Python-3.6/build/lib
export PATH=$PATH:/home/…/phonopy/Python-3.6/build/bin
export PATH=/home/…/phonopy/Python-3.6:$PATH
source ~/.bashrc
测试
命令行输入python3.6,若成功会出现(避免和系统自带/usr/bin混淆)
Python 3.6.0b3 (default, Nov 6 2016, 02:12:05)
[GCC 4.9.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
第三步:安装numpy-1.11.2.tar.gz
tar xzvf numpy-1.11.2.tar.gz
cd numpy-1.11.2
cp site.cfg.example site.cfg
vi site.cfg:
修改文件中如下所示部分:
# [mkl]
# library_dirs = /opt/intel/mkl/10.0.1.014/lib/32/
# lapack_libs = mkl_lapack
# mkl_libs = mkl, guide
注意:mkl前面的注释一定要去掉,此外,左端不能留空格。
修改后的如下(根据实际情况修改):
[mkl]
library_dirs = /opt/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64
include_dirs = /opt/intel/composer_xe_2013_sp1.2.144/mkl/include
lapack_libs = mkl_lapack95_lp64
mkl_libs = mkl_def,mkl_intel_lp64,mkl_intel_thread,mkl_core,guide,iomp5
(最后一行逗号为英文输入法下面的)
python3.6 setup.py build --help-fcompiler 查看下可用的编译器,结果发现--fcompiler=intelem可用
python3.6 setup.py build --fcompiler=intelem
python3.6 setup.py install --home=Python3.6解压目录/pymodule
(pymodule是自己在python解压目录下新建的numpy安装目录)
vi ~/.bashrc 添加下面内容:
PYTHONPATH="${PYTHONPATH}:/home/…/phonopy/Python3.6/pymodule/lib
/python"
export PYTHONPATH
export PATH=/home/…/phonopy/Python-3.6/pymodule/bin:$PATH
export PYTHONPATH=/home/…/phonopy/Python-3.6/pymodule/lib/python
source ~/.bashrc
让python知道到哪里去找模块
测试python是否能够调用numpy:
cd .. (退出 numpy的目录)
这一步一定要做,不然会出错, ImportError: Error importing numpy.
输入:python3.6 进入python界面
import numpy
执行 numpy 看是否出错
第四步:安装lxml-3.6.4.tgz
tar xzvf lxml-3.6.4.tgz
cd lxml-3.6.4
vi ~/.bashrc 添加下面内容:
PYTHONPATH="${PYTHONPATH}:/home/…/phonopy/Python3.6/lxml/lib
/python"
(lxml是自己在python解压目录下新建的lxml安装目录)
source ~/.bashrc
python3.6 setup.py install --home=Python3.6解压目录/lxml
第五步:安装matplotlib-1.5.0.tar.gz
tar xzvf matplotlib-1.5.0.tar.gz
cd matplotlib-1.5.0
vi ~/.bashrc 添加下面内容:
PYTHONPATH="${PYTHONPATH}:/home/…/phonopy/Python3.6/matplotlib /lib/python"
(matplotlib是自己在python解压目录下新建的matplotlib安装目录)
source ~/.bashrc
python3.6 setup.py install --home=Python3.6解压目录/ matplotlib
第六步:安装PyYAML-3.12.tar.gz
tar xzvf PyYAML-3.12.tar.gz
cd PyYAML-3.12
vi ~/.bashrc 添加下面内容:
PYTHONPATH="${PYTHONPATH}:/home/…/phonopy/Python3.6/pyyaml/lib
/python"
(pyyaml是自己在python解压目录下新建的pyyaml安装目录)
source ~/.bashrc
python3.6 setup.py test
python3.6 setup.py install --home=Python3.6解压目录/pyyaml
第七步:安装phonopy-1.11.0.tar.gz
tar xzvf phonopy-1.11.0.tar.gz
cd phonopy-1.11.0
python3.6 setup.py install
把/home/…/phonopy/phonopy-1.11.0/build/scripts-3.6的phonopy拷贝到usr/bin
测试
在phonopy目录下命令行输入phonopy:
结果显示:
_ __ | |__ ___ _ __ ___ _ __ _ _
| '_ \| '_ \ / _ \| '_ \ / _ \ | '_ \| | | |
| |_) | | | | (_) | | | | (_) || |_) | |_| |
| .__/|_| |_|\___/|_| |_|\___(_) .__/ \__, |
|_| |_| |___/
1.11.0
Crystal structure file of POSCAR (default file name) could not be found.
___ _ __ _ __ ___ _ __
/ _ \ '__| '__/ _ \| '__|
| __/ | | | | (_) | |
\___|_| |_| \___/|_|