如何在macOS Sierra 10.12.3上安装openbabel for Python 3.6

时间:2017-02-13 01:11:46

标签: python macos python-3.x macos-sierra openbabel

我正在使用Python制作一个脚本来处理我博士的一些化学结构。我想为python安装openbabel库。我尽我所能,但我无法在Windows上安装它。我之前发布了一个关于在How do I install openbabel for Python 3.6 in Windows 10?在Windows上安装它的问题,但找不到解决方案。该解决方案安装了库,但它不起作用,无法连接到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

OR

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的所有程序,但同样的错误发生了。我也使用从github获得的openbabel,据说在以下帖子中使用了这些命令:http://forums.openbabel.org/OpenBabel-for-Python-3-td4659432.html 但它不起作用。 请帮助我,因为我需要这个模块进行研究。 感谢

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。这是详细的解决方案:

  1. 从原始来源(https://github.com/openbabel/openbabel

  2. 下载打开的Babel
  3. 提取并cd入其中(openbabel-master)

  4. 创建一个目录“build”并cd进去。

  5. 运行以下命令:

    cmake ../ -DPYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 -DPYTHON_BINDINGS=ON -DRUN_SWIG=ON

    在上面的命令中,“ - DPYTHON_EXECUTABLE”开关告诉它找到Python3解释器的路径。您可以在终端上通过which python3进行检查。

  6. make

  7. make install

  8. 全部完成! :)