2017-02-10 7 views
0

Я использую Python для создания сценария для работы с некоторыми химическими структурами в моем PhD. Я хочу установить библиотеки openbabel для python. Я старался изо всех сил, но я не мог установить его. Он всегда дает ошибку: Error: SWIG failed. Is Open Babel installed? Вот путь Python на моем ПК: C:\Users\malih\AppData\Local\Programs\Python\Python36-32. Openbabel устанавливается по следующему пути: C:\Program Files (x86)\OpenBabel-2.3.1.Как установить openbabel для Python 3.6 в Windows 10?

Когда я бегу 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: How do I use python-openbabel in Travis CI?

Я также попытался установить PKG-конфигурации из следующего руководства, но даже после этого, она дает ту же ошибку: How to install pkg config in windows?

Пожалуйста, помогите мне в этом, так как моя работа основана на этом, и я застрял на этом. Спасибо заранее за ваше время.

ответ

1

pip install, как известно, не подходит для окон. Либо перейти на openbabel сайт и скачать + установить окна бинарник, а затем загрузить + установить связывание питона, или используйте unoffical official openbabel питона окна строить, а затем cd в загруженном каталоге, а также выполнять pip install OPENBABEL_FILE_WINDOWS.whl

Я недавно был сделать некоторые совсем немного работы над файлом 2D mol -> преобразование файла 3D mol с использованием openbabel. Дайте мне знать, как это работает для вас.

-

редактировать: Я хотел бы также добавить, python3.x это breakingly отличается python2.x. Поэтому, если что-то сломается, попробуйте его с python2.x

+0

Привет @pandamakes Большое вам спасибо. Это было довольно быстро, и он установил его с помощью 'pip install openbabel-2.4.1-cp36-cp36m-win32.whl' Можете ли вы также рассказать мне пример, чтобы проверить, работает ли он правильно? После этого я подробно рассмотрю его. Я попробовал следующий пример, указанный в Интернете, но он дал ошибку для этого: «import pybel mol = pybel.readstring (« smi »,« CC (= O) Br ») mol.make3D() print (mol.write (" sdf ")) ' Также он не читает ни одного формата. Просто давая ошибку 'ValueError: mol2 не является признанным форматом Open Babel'? – Hashmi

+0

извинения, я считаю, вам все равно нужно скачать и установить openbabel windows binary. чтобы проверить эту гипотезу, перейдите в командную строку и введите obabel -V, если вы получите «obabel не распознается как внутренняя команда», вам все равно нужно будет установить двоичный файл Windows. Я думаю, что файл whl является только связыванием python. – pandamakes