Python

Python是科研中的利器,我们可以使用Python3.x及扩展包进行数据处理、绘图,甚至符号运算。数据处理方面,perl和python都可以,前者数据的列处理方便,类似matlab中的矩阵操作;后者功能更多,代码可读性更强,运行速度也更快。绘图方法,因为matplotlib的加入,Python默认出图较为美观,算是Origin的简化版。符号运算方法,scipy、sympy可以进行方程运算和符号推导,但比mathematica弱很多。入门教程可以参考我写的《Python教程v3.0》,或者Python官方中文教程guankui.nameGreatX's Blog不孬NumPy基础。数据处理强烈推荐《信息管理专业Python教程》。numpy教程可以参考NumPy快速上手指南机器学习可以看scikit-learn官方文档中文版Python 开源库及示例代码列出了众多扩展包。

较为方便的安装方法是使用Anaconda,包含了numpy、matplotlib等,安装只需bash一下即可。如果想仅安装Python2.7,比如支持旧版本软件,可以运行以下代码,

tar -jxvf Python-2.7.tar.bz2 && mkdir python2.7&&cd Python-2.7 && ./configure --prefix=/backup/home/misaraty/soft/python2.7 --enable-shared && make -j 16 && make install

并修改集群用户根目录下的.bashrc,

export PATH=/home/misaraty/soft/python2.7/bin:$PATH

若想直接将Notepad++与Anaconda链接运行代码,需要在Notepad++中运行-运行,加入以下代码,

cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT

若是想将py文件打包成exe文件,方便其他未安装Python环境的组员使用,可以运行,

pip install pyinstaller
cd C:\Users\m\Desktop
pyinstaller -F a.py -i a.ico
pyinstaller -F a.py -i a.ico --noconsole

一般来说,自己写的Python代码并没有严格格式化,可以使用autopep8来自动格式化。安装autopep8,

conda install -c conda-forge autopep8

在Notepad++中运行以下代码来实现自动格式化,

cmd /k autopep8 --in-place --aggressive --aggressive "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT

安装计算材料学软件,

conda install -c conda-forge ase
conda install -c conda-forge pymatgen

若在conda安装某些软件过程中出现如下报错,

ERROR conda.core.link:_execute_actions(337): An error occurred while installing package 'defaults::tqdm-4.46.1-py_0'.
CondaError: Cannot link a source that does not exist. C:\ProgramData\Anaconda3\Scripts\conda.exe
Running `conda clean --packages` may resolve your problem.
Attempting to roll back.

则运行,

conda install tqdm -f

换清华镜像源,运行,

conda config --set show_channel_urls yes

生成C:\Users\m\.condarc,修改,

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

清理索引缓存,

conda clean -i

查看状态,

conda info