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.
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
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