用python来玩lammps【环境设置篇】【其实是小白求交流】
时间:2023-01-02 02:30:00
我成功地设置了两个晚上(其实根本不需要纠结)lammps动态库,可以从Python里面调用lammps写code了!
python因为代码简单,语言非常活跃,所以在phd第一年修了一个计算物理,就是用Python教。下课后,我一直想学以致用。
其实也因为Python很火,lammps的doc如何交互使用已经写好了。
但介于我是linux小白,还是纠结了很久。ubuntu14.04,bash shell
按照doc里面11.3 建一个共享的lammps的库
1.先去lammps里面的src文件夹
我的话是:
cd Desktop
cd lammps-14May16
cd src
当你在src您可以在文件夹中使用它make command了。
make foo mode=shlib 这里的foo这是你的机器类型,我在这里ubuntu
所以我输入的是:
make ubuntu mode=shlib
上述指令将在您的文件夹中建立liblammps_ubuntu.so file,与软连接 liblammps.so
2.设置环境变量
事实上,我还不太清楚环境变量是否必须设置。因为我置了第一天晚上,但结果没有成功运行
第二天做了第三步,然后成功了。
但无论如何,环境变量的设置也是一个非常常见的问题。
上面1提到的liblammps_ubuntu.so 和在lammps/python下面找到的 lammp.py 所有的文件都很关键。
我们希望python知道在哪里找到lammps的库(liblammps_ubuntu.so),所以告诉他们一个寻找的位置
官方给出的例子如下: 如果是用csh or tcsh shells,在 ~/.cshrc file加上以下两句话。
setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/python
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src
然后我的是bash shell,不知是不是ubuntu就是这样
所以,其实对应的是 .bashrc file
这个文件
您在命令行中输入
ls -al
这个文件的踪迹可以在里面找到。
vi .bashrc
我知道进入这个文件的唯一方法是…
因为看似特殊文件,一般不显示
但结果进去后,我看不懂。。。所以我不敢在里面乱改。
后来找到了添加环境变量的方法
输入env
你可以看到你所有的环境变量
然后输入
export PYTHONPATH=$PYTHONPATH :/home/Desktop/lammps-14May16/python
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/home/Desktop/lammps-14May16/src
此时您再次输入env
可以发现添加了这些环境变量
然后别忘了输入
source ~/. bashrc
让你的环境变量生效。
(我写在这里,不能再坚持写了。…)
突然发现设置的环境变量现在不见了!
上述方法似乎不是永久有效的
还得改文本!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3.但介于上述发现,
没有环境变量也没关系
还有一种方法!
直接去跑install.py 就好了!
跑到lammps下面的python文件夹
python install.py
跑完没报错的话
直接测试
from lammps import lammps
lmp=lammps()
输出你的lammps版本
LAMMPS(14 May 2016)
If you use the python/install.py script, you need to invoke it every time you rebuild LAMMPS (as a shared library) or make changes to the python/lammps.py file.
注意,在这种情况下,每次重建lammps?(什么叫rebuild lammps啊),
你必须重新操作。
没关系,只要你能跑!
我只有这样的最低要求。
写完之后,我发现我真的在寻求交流。了解环境变量是为了什么,我觉得很神奇~
继续奋斗,希望以后继续写,怎么写?python里面玩lammps~
共勉@求教