Ich möchte MuJoCo (http://www.mujoco.org/), ein fortgeschrittener Physik-Simulator mit Python-Bindungen (https://github.com/openai/mujoco-py) verwenden.Python-Bindung für MuJoCo-Physik-Bibliothek mit mujoco-py-Paket
Ich habe meine MuJoCo-Lizenzdatei mjkey.text und habe die erforderlichen Pfade MUJOCO_PY_MJKEY_PATH, MUJOCO_PY_MJPRO_PATH den Umgebungsvariablen entsprechend hinzugefügt.
MUJOCO_PY_MJPRO_PATH = C:\Dropbox\PhD\MuJoCo\mjpro131
MUJOCO_PY_MJKEY_PATH = C:\Dropbox\PhD\MuJoCo\mjpro131\bin
jedoch eine sobald ich die libray mit dem folgenden einfachen Code importieren möchten,
import mujoco_py
bekam ich die folgende Fehlermeldung.
C:\Dropbox\Python\Anaconda\python.exe
C:/Dropbox/PhD/Python/X/MujocoHelloWorld/test.py
Traceback (most recent call last):
File "C:/Dropbox/PhD/Python/X/MujocoHelloWorld/test.py", line 1, in <module>
import mujoco_py
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "C:\Dropbox\Python\Anaconda\lib\site-packages\mujoco_py-0.5.4-py3.5.egg\mujoco_py\__init__.py", line 4, in <module>
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "C:\Dropbox\Python\Anaconda\lib\site-packages\mujoco_py-0.5.4-py3.5.egg\mujoco_py\mjviewer.py", line 7, in <module>
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "C:\Dropbox\Python\Anaconda\lib\site-packages\mujoco_py-0.5.4-py3.5.egg\mujoco_py\mjcore.py", line 6, in <module>
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "C:\Dropbox\Python\Anaconda\lib\site-packages\mujoco_py-0.5.4-py3.5.egg\mujoco_py\mjlib.py", line 21, in <module>
File "C:\Dropbox\Python\Anaconda\lib\ctypes\__init__.py", line 425, in LoadLibrary
return self._dlltype(name)
File "C:\Dropbox\Python\Anaconda\lib\ctypes\__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application
Process finished with exit code 1
Ich bin ein Python 3.5.1 64-Bit auf einem Windows 7 64-Bit mit MuJoCo 1.31 64-Bit verwendet wird.
Ich vermute, das Problem liegt an einer Art von Inkompatibilität, ich habe auch Python 3.5.2 32-Bit mit MuJoCo 1.31 32-Bit versucht. Sogar, ich versuchte die nicht-logische 32-Bit-Python und 64-Bit-MuJoCo-Kombination und umgekehrt.
Das bereits vorgestellte Beispiel "simulate.exe" in der MuJoCo-Bibliothek funktioniert einwandfrei. Also, ich denke, es gibt kein Problem mit der 64-Bit-MuJoCo-Bibliothek, die ich habe. (Übrigens, 32-Bit-Version von ihm läuft nicht auf 64-Bit-Windows)
So sollte das Problem wahrscheinlich beim Laden der C++ - Bibliothek in Python auftreten. Ich debuggte und zumindest überprüft, dass der Python-Code in der Bibliothek mujoco_py versucht, "mujoco131.lib" (nicht "mujoco131.dll" obwohl) vom richtigen Pfad zu laden. Und dann tritt der Fehler auf und Code kann nicht weiter ausgeführt werden.
Ich bin offen für jede Art von Kommentaren und Vorschlägen ..
Prost! Und noch einen schönen Tag!
Die Änderungen geholfen angeben, um tatsächlich den Fehler (n) zu vermeiden. Vielen Dank. Aber jetzt hängt der Import einfach ohne Fehler. 'print ("hey")' ' Import mujoco_py' ' print ("hey") ' Dieser Code druckt die erste "hey" und hält dann für immer auf laufen .. weitere Ideen? –
Sie könnten versuchen, Downgrade auf Python 3.4 über 'Conda installieren Python = 3.4' ' Conda installieren mingw libpython numpy' – haversine
Danke für den Vorschlag, aber immer noch nicht funktioniert. Ich denke, es ist ein Konfigurationsproblem obwohl .. Wenn es für Sie arbeitet, können Sie die Versionen der abhängigen Bibliotheken aufschreiben. Oder mehr Ideen? : D –