如何在Windows 10中安装openbabel for Python 3.6?

如何在Windows 10中安装openbabel for Python 3.6?,python,python-3.x,openbabel,Python,Python 3.x,Openbabel,在我的博士学位中,我正在使用Python编写一个脚本来处理一些化学结构。我想为python安装openbabel库。我尽了最大努力,但安装不了。它总是给出错误: 错误:SWIG失败。是否安装了Open Babel? 这是我电脑上的Python路径:C:\Users\malich\AppData\Local\Programs\Python\Python36-32。Openbabel安装在以下路径C:\ProgramFiles(x86)\Openbabel-2.3.1 当我运行python-m pi

在我的博士学位中,我正在使用Python编写一个脚本来处理一些化学结构。我想为python安装openbabel库。我尽了最大努力,但安装不了。它总是给出错误:
错误:SWIG失败。是否安装了Open Babel?
这是我电脑上的Python路径:
C:\Users\malich\AppData\Local\Programs\Python\Python36-32
。Openbabel安装在以下路径
C:\ProgramFiles(x86)\Openbabel-2.3.1

当我运行
python-m pip install openbabel
时,会出现以下错误:

C:\Users\malih>python -m pip install openbabel
Collecting openbabel
Using cached openbabel-2.4.1.tar.gz
Installing collected packages: openbabel
Running setup.py install for openbabel ... error
Complete output from command C:\Users\malih\AppData\Local\Programs\Python\Python36-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\malih\\AppData\\Local\\Temp\\pip-build-glr82a7x\\openbabel\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\malih\AppData\Local\Temp\pip-02z3p_a9-record\install-record.txt --single-version-externally-managed --compile:
running install
running build_ext
Warning: pkg-config could not be found.
Guessing Open Babel location:
- include_dirs: ['C:\\Users\\malih\\AppData\\Local\\Programs\\Python\\Python36-32\\include', 'C:\\Users\\malih\\AppData\\Local\\Programs\\Python\\Python36-32\\include', '/usr/local/include/openbabel-2.0']
- library_dirs: ['C:\\Users\\malih\\AppData\\Local\\Programs\\Python\\Python36-32\\libs', 'C:\\Users\\malih\\AppData\\Local\\Programs\\Python\\Python36-32\\PCbuild\\win32', '/usr/local/lib']
building '_openbabel' extension
swigging openbabel-python.i to openbabel-python_wrap.cpp
swig.exe -python -c++ -small -O -templatereduce -naturalvar -IC:\Users\malih\AppData\Local\Programs\Python\Python36-32\include -IC:\Users\malih\AppData\Local\Programs\Python\Python36-32\include -I/usr/local/include/openbabel-2.0 -o openbabel-python_wrap.cpp openbabel-python.i

Error: SWIG failed. Is Open Babel installed?
You may need to manually specify the location of Open Babel include and library directories. For example:
  python setup.py build_ext -I/usr/local/include/openbabel-2.0 -L/usr/local/lib
  python setup.py install

----------------------------------------
Command "C:\Users\malih\AppData\Local\Programs\Python\Python36-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\malih\\AppData\\Local\\Temp\\pip-build-glr82a7x\\openbabel\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\malih\AppData\Local\Temp\pip-02z3p_a9-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\malih\AppData\Local\Temp\pip-build-glr82a7x\openbabel\
我试图按照本页上的说明进行操作,但这些说明仅适用于linux,无法在Windows上进行操作:

我还尝试从以下指南中安装pkg config,但即使在这之后,它也会给出相同的错误:


请在这方面帮助我,因为我的工作就是基于这一点,我被困在这一点上。提前感谢您的时间。

pip安装是出了名的非windows友好型。进入openbabel网站并下载+安装windows二进制文件,然后下载+安装python绑定,或者使用openbabel python windows构建,然后将
cd
放入下载的目录中,并执行
pip安装openbabel\u文件\u windows.whl

我最近用openbabel做了很多关于2D mol文件->3D mol文件翻译的工作。让我知道这对你有什么好处

--


编辑:我还要补充一点,python3.x与python2.x截然不同。因此,如果出现任何问题,请尝试使用python2.x。众所周知,pip安装不支持windows。进入openbabel网站并下载+安装windows二进制文件,然后下载+安装python绑定,或者使用openbabel python windows构建,然后将
cd
放入下载的目录中,并执行
pip安装openbabel\u文件\u windows.whl

我最近用openbabel做了很多关于2D mol文件->3D mol文件翻译的工作。让我知道这对你有什么好处

--


编辑:我还要补充一点,python3.x与python2.x截然不同。如果有什么东西坏了,就用python2.x试试吧

Hi@pandamakes非常感谢。这很快,它使用
pip安装openbabel-2.4.1-cp36-cp36m-win32安装了它。whl
你能告诉我一个例子来检查它是否工作正常吗?以后我会详细介绍它的用法。我尝试了在线给出的以下示例,但它给出了错误:
import pybel mol=pybel.readstring(“smi”,“CC(=O)Br”)mol.make3D()print(mol.write(“sdf”)
而且它没有读取任何格式。只是给出错误
值错误:mol2不是公认的openbabel格式
?抱歉,我相信您仍然需要下载并安装openbabel windows二进制文件。要验证此假设,请转到命令行,然后键入
obabel-V
,如果您得到“obabel未被识别为内部命令”,则仍然需要安装windows二进制文件。我认为whl文件只是python绑定。嗨@pandamakes,非常感谢。这很快,它使用
pip安装openbabel-2.4.1-cp36-cp36m-win32安装了它。whl
你能告诉我一个例子来检查它是否工作正常吗?以后我会详细介绍它的用法。我尝试了在线给出的以下示例,但它给出了错误:
import pybel mol=pybel.readstring(“smi”,“CC(=O)Br”)mol.make3D()print(mol.write(“sdf”)
而且它没有读取任何格式。只是给出错误
值错误:mol2不是公认的openbabel格式
?抱歉,我相信您仍然需要下载并安装openbabel windows二进制文件。要验证此假设,请转到命令行,然后键入
obabel-V
,如果您得到“obabel未被识别为内部命令”,则仍然需要安装windows二进制文件。我认为whl文件只是python绑定。