轉自https://zhuanlan.zhihu.com/p/26894911
linux下超詳細教程安裝phonopy
phonopy安裝:
第一步:准備文件##
-
python-3.6 (https://www.python.org/downloads/source/)
-
numpy-1.11.2 (Obtaining NumPy & SciPy libraries)
-
lxml-3.6.4 (Processing XML and HTML with Python)
-
matplotlib-1.5.0 (Browse Files at SourceForge.net)
-
PyYAML-3.12 (PyYAML)
-
phonopy-1.11.0 (phonopy)
Note:前5個包也可以用yum 或 apt-get 安裝##
第二步:安裝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 看是否出錯
>>>print numpy.version.version
查看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:
結果顯示:
結果顯示:

參考資料:##
-
linux ubuntu 下 phonopy 的安裝步驟
-
Linux下安裝Phonopy_雁過留痕Neo_新浪博客
-
linux系統vasp5.2+phonopy安裝 - 第一原理 - 小木蟲 - 學術 科研 互動社區
-
小木蟲論壇
-
linux下超詳細安裝phonopy教程-第一性原理-計算化學公社
appendix:PHONOPY的安裝##
參考資料https://atztogo.github.io/phonopy/
phonopy下載目錄https://pypi.python.org/pypi/phonopy
把/home/…/phonopy/phonopy-1.11.0/build/scripts-3.6的phonopy拷貝到usr/bin
安裝依賴###
- Python and its header files
- numpy
- matplotlib
- python-yaml (pyyaml)
- python-h5py (h5py)
前四個可通過yum包管理器安裝
#yum provides python-dev python-numpy python-matplotlib python-yaml
#yum install python-dev python-numpy python-matplotlib python-yaml
CentOS 7 下通過epel擴展源才能安裝h5py
#yum -y install epel-release
#yum provides h5py
#yum install ....
另外pip也可以通過epel安裝
#yum provides pip
CentOS7 yum安裝matplotlib時需要安裝大量的依賴包,對於老系統,大量更新會出現問題。換成pip安裝
$sudo pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
清華大學開源鏡像站pip目錄(校園網):https://pypi.tuna.tsinghua.edu.cn/simple
安裝Phonopy##
- Download the source code at
https://pypi.python.org/pypi/phonopy
and extract it:
$ tar xvfz phonopy-1.11.12.31.tar.gz
$ cd phonopy-1.11.12.31
The other option is using git to clone the phonopy repository from github:
$ git clone https://github.com/atztogo/phonopy.git
$ cd phonopy
- Assuming the installation location is those shown in the step 3, set $PATH and $PYTHONPATH:
export PYTHONPATH=~/.local/lib:$PYTHONPATH
export PYTH=~/.local/bin:$PATH
in your .bashrc (or maybe .bash_profile), .zshenv, or other script for the other shells.
在安裝前先設置路徑變量PYTHONPATH與PATH
3. Set up C-libraries for python C-API and python codes. This can be done as follows:
Run setup.py script:
$ python setup.py install --user
Watching carefully where the phonopy commands and library are installed. Those locations can be ~/.local/bin and ~/.local/lib directories, respectively.
如果要自定義安裝目錄
$ python setup.py install --home=...
測試###
在phonopy目錄下命令行輸入phonopy:
結果顯示:

