如何使用Python中的PyMOL API



我的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" "$@"

最新更新