импорт pybel оболочки openbabel для macos без conda

Ранее я спрашивал, как установить openbabel для macos здесь. Теперь мне также нужно установить обертку openbabel python pybel. Я попробовал pip install pybel, и он был установлен. Затем, пока я следил за учебником,

import openbabel
import pybel
mymol = pybel.readstring("smi", "CCCC")

Я получил следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'pybel' has no attribute 'readstring'

Оказывается, у других людей были похожие проблемы, и я нашел их в списке рассылки то, цитирую

«Я предполагаю, что вы установили pybel через pip install pybel, что является «неправильным» pybel»

Затем они дают решение, которое pip install openbabel, что невозможно для macos.

Решение состоит в том, чтобы использовать conda для установки openbabel, но Я не использую conda и хотел бы, чтобы так и было, поэтому я ищу решение, которое не требует conda.


person beliz    schedule 13.05.2020    source источник
comment
если вы следовали совету по компиляции openbabel из исходников, привязки уже должны быть скомпилированы, вы сможете сделать from openbabel import pybel   -  person FlyingTeller    schedule 13.05.2020


Ответы (2)


Я нашел решение, вы можете brew install open-babel, а затем указать путь к доморощенной библиотеке сайтов-пакетов Python. Для меня работает следующее:

import sys
sys.path.append('/usr/local/lib/python3.8/site-packages')

Тогда ты можешь

import openbabel
from openbabel import pybel

и так далее.

person beliz    schedule 26.05.2020

У меня точно такая же проблема. Он работает со следующим кодом:

from openbabel import pybel
mymol = pybel.readstring("smi","CCN(CC)CC")
mymol
person Wang    schedule 26.05.2020
comment
Спасибо, но на самом деле это тоже не сработало. Оказывается, я импортировал не тот pybel... - person beliz; 26.05.2020
comment
вам нужно сначала удалить неправильный pybel. Я сделал ту же ошибку. pip uninstall pybel - person Wang; 26.05.2020