2017-02-10 8 views
0

Ich benutze Python für ein Skript, um mit einigen chemischen Strukturen in meiner Doktorarbeit zu arbeiten. Ich möchte Openbabel-Bibliotheken für Python installieren. Ich habe mein Bestes versucht, aber ich konnte es nicht installieren. Es gibt immer einen Fehler: Error: SWIG failed. Is Open Babel installed? Hier ist der Python-Pfad auf meinem PC: . Openbabel wird unter folgendem Pfad installiert: C:\Program Files (x86)\OpenBabel-2.3.1. Wie installiere ich openbabel für Python 3.6 in Windows 10?

Wenn ich python -m pip install openbabel laufen, gibt es folgende Fehlermeldung:

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\ 

Ich habe versucht, die Anweisungen auf dieser Seite zu folgen, aber sie sind rein für Linux und ich konnte sie für Windows nicht folgen: How do I use python-openbabel in Travis CI?

ich habe auch versucht pkg-config aus der folgenden Anleitung zu installieren, aber auch danach, gibt es den gleichen Fehler: How to install pkg config in windows?

Bitte helfen Sie mir dabei, da meine Arbeit darauf basiert und ich an dieser Stelle feststecke. Vielen Dank im Voraus für Ihre Zeit.

Antwort

1

pip install ist notorisch nicht Windows-freundlich. Entweder gehen Website und Download openbabel + Fenster binär installieren, laden Sie + installieren Python-Bindung, oder verwenden Sie die unoffical official openbabel Python Fenster bauen, dann cd in die heruntergeladene Verzeichnis, und führen Sie pip install OPENBABEL_FILE_WINDOWS.whl

Vor kurzem hatte ich einige ziemlich viel zu tun der Arbeit an 2D-Mol-Datei -> 3D-Mol-Datei-Übersetzung mit Openbabel. Lassen Sie mich wissen, wie es für Sie funktioniert.

-

edit: Ich möchte auch hinzufügen, ist python3.x zerreißend anders Python2.x. Also, wenn etwas kaputt geht, versuchen Sie es mit python2.x

+0

Hallo @pandamakes Vielen Dank. Das war ziemlich schnell und es installiert es mit 'pip install openbabel-2.4.1-cp36-cp36m-win32.whl' Können Sie mir auch ein Beispiel sagen, um zu überprüfen, ob es richtig funktioniert? Ich werde danach die detaillierte Verwendung durchgehen. Ich habe das folgende Beispiel online versucht, aber es gab einen Fehler dafür: 'Import pybel mol = pybel.readstring (" smi "," CC (= O) Br ") mol.make3D() drucken (mol.write (" sdf "))) ' Es liest auch kein Format. Nur geben Fehler "ValueError: mol2 ist kein Open Babel-Format erkannt"? – Hashmi

+0

Entschuldigung, ich glaube, Sie müssen noch Openbabel Windows-Binärdatei herunterladen und installieren. Um diese Hypothese zu testen, gehen Sie zur Befehlszeile, und geben Sie obabel -V ein, wenn Sie ein 'Obabel wird nicht als interner Befehl erkannt' erhalten, dann müssen Sie weiterhin die Windows-Binärdatei installieren. Die whl-Datei ist nur die Python-Bindung, denke ich. – pandamakes

Verwandte Themen