Я хочу использовать MuJoCo (http://www.mujoco.org/), продвинутый физический симулятор с привязками python (https://github.com/openai/mujoco-py).Связывание Python для библиотеки физики MuJoCo с использованием пакета mujoco-py
У меня есть файл лицензии mjkey.text MuJoCo и добавлены необходимые переменные MUJOCO_PY_MJKEY_PATH, MUJOCO_PY_MJPRO_PATH соответствующим переменным среды.
MUJOCO_PY_MJPRO_PATH = C:\Dropbox\PhD\MuJoCo\mjpro131
MUJOCO_PY_MJKEY_PATH = C:\Dropbox\PhD\MuJoCo\mjpro131\bin
Однако вскоре, как я хочу, чтобы импортировать libray следующим простым кодом,
import mujoco_py
я получил следующее сообщение об ошибке.
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
Я использую Python 3.5.1 64-бит на ОС Windows 7 64-бит с MuJoCo 1.31 64-битным.
Я догадался, что проблема связана с какой-то несовместимостью, я также попытался использовать Python 3.5.2 32-bit с MuJoCo 1.31 32-bit. Даже я пробовал нелогичную 32-битную комбинацию Python и 64-бит MuJoCo и наоборот.
Уже скомпилированный данный пример «simulate.exe» в библиотеке MuJoCo отлично работает. Итак, я думаю, что нет никакой проблемы с 64-битной библиотекой MuJoCo, которую у меня есть. (Кстати, 32-разрядная версия не работает в 64-разрядной Windows)
Таким образом, проблема должна возникнуть при загрузке библиотеки C++ на Python. Я отлаживал и хотя бы проверял, что код Python в библиотеке mujoco_py пытается загрузить «mujoco131.lib» (не «mujoco131.dll», хотя) с правильного пути. И затем возникает ошибка, и код не запускается дальше.
Я открыт для любого рода комментарии и предложения ..
Ура! И хорошего дня!
Изменения действительно помогли избежать ошибки (ы). Большое спасибо. Но теперь импорт просто висит без ошибок. 'печать («эй»)' ' импорт mujoco_py' ' печать («эй») ' Этот код печатает первый«эй», а затем продолжает работать вечно .. Любые дальнейшие идеи? –
Возможно, вы захотите попробовать понизить до python 3.4 через 'conda install python = 3.4' ' conda install mingw libpython numpy' – haversine
Спасибо за предложение, но все еще не работаю. Я думаю, что это проблема конфигурации, хотя .. Если она работает на вас, вы можете записать версии зависимых библиотек. Или больше идей? : D –