我想使用MuJoCo (http://www.mujoco.org/),这是一个使用python绑定的高级物理模拟器(https://github.com/openai/mujoco-py)。
我已经获得了MuJoCo许可文件mjkey.text,并相应地将所需的路径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我在Windows764位和MuJoCo 1.3164位上使用Python3.5.1 64位。
我猜这个问题是由于某种不兼容,我也尝试了Python3.5.2 32位和MuJoCo 1.31 32位。我甚至尝试了非逻辑的32位Python和64位MuJoCo的组合,反之亦然。
MuJoCo库中已经编译的给定示例"simulate.exe“可以很好地工作。所以,我想我的64位MuJoCo库是没有问题的。(顺便说一下,它的32位版本不能在64位Windows上运行)
因此,在将C++库加载到Python时,可能会出现问题。我调试并至少检查了mujoco_py库中的Python代码尝试从正确的路径加载"mujoco131.lib“(而不是"mujoco131.dll”)。然后错误发生,代码无法进一步运行。
我对任何评论和建议都持开放态度。
干杯!祝你有愉快的一天!
发布于 2016-08-09 07:01:31
尝试编辑mjlib.py,在加载器中用"bin/mujoco131.dll"替换"bin/mujoco131.lib"。
我还必须在platname_targdir.py中显式地指定platname = "win"
https://stackoverflow.com/questions/38766267
复制相似问题