Как установить openbabel для Python 3.6 на macOS Sierra 10.12.3
Я использую Python для создания сценария для работы с некоторыми химическими структурами в моей докторской диссертации. Я хочу установить библиотеки openbabel для python. Я старался изо всех сил, но я не мог установить его на Windows. Ранее я опубликовал вопрос об установке его на Windows в разделе Как установить openbabel для Python 3.6 в Windows 10? но не смог найти решение. Решение установило библиотеку, но она не работает и не может подключиться к SWIG. Нет, я пытаюсь установить его на свой офисный компьютер, который является Mac в течение последних 5 часов, но я не мог понять, что происходит. Я попытался установить его из исходного кода Opnbabel и связать его с python3, но это создает проблемы. Если я использую следующую команду:
cmake ../ -DPYTHON_BINDINGS=ON -DRUN_SWIG=ON
Он успешно связывает его с Python 2.7, который я не хочу. Когда я пробую следующие варианты, выдает ошибку, показанную ниже:
cmake ../ -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_BINDINGS=ON -DRUN_SWIG=ON
ИЛИ ЖЕ
cmake ../ -DRUN_SWIG=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -DPYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib -DPYTHON_BINDINGS=ON
Это дает следующую ошибку в конце после большого количества успешных выходных данных:
-- Found PythonInterp: /usr/bin/python3.6 (found version "1.4")
-- Found SWIG: /usr/local/bin/swig (found version "3.0.12")
-- Found SWIG: /usr/local/bin/swig (found suitable version "3.0.12", minimum required is "2.0")
-- Found PythonLibs: /usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6m.dylib (found version "3.6.0")
-- Python bindings will be compiled
CMake Error at scripts/CMakeLists.txt:120 (install):
install TARGETS given no LIBRARY DESTINATION for module target
"bindings_python".
CMake Error at scripts/CMakeLists.txt:123 (install):
install FILES given no DESTINATION!
CMake Error at scripts/CMakeLists.txt:126 (install):
install FILES given no DESTINATION!
-- Configuring incomplete, errors occurred!
See also "/usr/local/Cellar/obabel/openbabel-master/ali/CMakeFiles/CMakeOutput.log".
See also "/usr/local/Cellar/obabel/openbabel-master/ali/CMakeFiles/CMakeError.log".
Я не уверен, почему он обнаруживает Python как v1.4 -- Found PythonInterp: /usr/bin/python3.6 (found version "1.4")
вместо того, чтобы найти v.3.5. Я пробовал всю процедуру с Python 3.6, но возникают те же ошибки. Я также использую openbabel, полученный из github, который, как говорили, работает с этими командами в следующем посте: http://forums.openbabel.org/OpenBabel-for-Python-3-td4659432.html Но он не работает также. Пожалуйста, помогите мне, так как мне нужен этот модуль для моих исследований. Спасибо
1 ответ
Я нашел решение для этого. Вот подробное решение:
Загрузите Open Babel из оригинального источника ( https://github.com/openbabel/openbabel)
Извлеките его и перейдите на него (openbabel-master)
Создайте каталог "build" и перейдите в него.
Запустите следующую команду:
cmake ../ -DPYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 -DPYTHON_BINDINGS=ON -DRUN_SWIG=ON
В приведенной выше команде ключ -DPYTHON_EXECUTABLE указывает путь, по которому находится интерпретатор Python3. Вы можете проверить это по
which python3
в терминале.make
make install
Все сделано!:)