我的Linux机器上已经安装了PyMOL。我知道它已安装,因为当我编写pymol -cp pymol_api_test.py
时,脚本会执行。
我想使用python3
:运行以下python脚本
import pymol
from pymol import cmd
print(cmd.align("/home/bbq_spatial/bbq_input_pdb/pdb1a6j.pdb",
"/home/bbq_spatial/bbq_output_pdb/pdb1a6j.pdb",
cycles=0, transform=0))
然而,当我使用python3
:调用它时,它不会运行
user_name@server_name:~$ nano pymol_api_test.py
user_name@server_name:~$ python3 pymol_api_test.py
Traceback (most recent call last):
File "pymol_api_test.py", line 1, in <module>
import pymol
ModuleNotFoundError: No module named 'pymol'
user_name@server_name:~$
我该如何解决此问题?
安装conda
(或pip
(作为Python的包管理器。然后使用以下命令安装pymol
:
conda install -c conda-forge -c schrodinger pymol-bundle
您可以使用以下命令检查env中安装的软件包:
conda list
使用此链接在您的Linux计算机上安装conda。
请注意,PyMol
可能需要对您的系统进行其他依赖,请查看官方安装指南。
更新:
检查特定的pkg:
带pip:pip show <pkg>
带conda:conda show <pkg>
列出所有已安装的pkg:
带pip:pip list
带conda:conda list
确保您的python解释器可以访问pymol
包。这可以通过将其添加到PYTHONPATH
环境变量中来完成。
$ export PYTHONPATH=/opt/pymol/lib/python3.10/site-packages/:$PYTHONPATH
在linux中,pymol
命令不是二进制的,而只是运行相应python包的shell脚本。因此,您可以检查它以获得要添加的正确路径。
$ cat $(which pymol)
#!/bin/sh
exec "/usr/bin/python3" "/opt/pymol/lib/python3.10/site-packages/pymol/__init__.py" "$@"