Cython.Compiler.Errors.CompileError: Cython.Compiler.Errors.CompileError: /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx
ubuntu系统下,python3.6,anaconda下配置mujoco210环境时遇到报错:
/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/registration.py:14: PkgResourcesDeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately. result = entry_point.load(False) Compiling /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx because it changed. [1/1] Cythonizing /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx Error compiling Cython file: ------------------------------------------------------------ ... See c_warning_callback, which is the C wrapper to the user defined function ''' global py_warning_callback global mju_user_warning py_warning_callback = warn mju_user_warning = c_warning_callback ^ ------------------------------------------------------------ /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx:92:23: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (const char *) except * nogil'. Error compiling Cython file: ------------------------------------------------------------ ... See c_warning_callback, which is the C wrapper to the user defined function ''' global py_error_callback global mju_user_error py_error_callback = err_callback mju_user_error = c_error_callback ^ ------------------------------------------------------------ /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx:127:21: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (const char *) except * nogil'. Traceback (most recent call last): File "train_ddpg_gym.py", line 173, in <module> main() File "train_ddpg_gym.py", line 92, in main env = make_env(test=False) File "train_ddpg_gym.py", line 74, in make_env env = gym.make(args.env) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/registration.py", line 163, in make return registry.make(id) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/registration.py", line 119, in make env = spec.make() File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/registration.py", line 85, in make cls = load(self._entry_point) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/registration.py", line 14, in load result = entry_point.load(False) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2450, in load return self.resolve() File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2456, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/mujoco/__init__.py", line 1, in <module> from gym.envs.mujoco.mujoco_env import MujocoEnv File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/gym/envs/mujoco/mujoco_env.py", line 11, in <module> import mujoco_py File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/__init__.py", line 2, in <module> from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/builder.py", line 504, in <module> cymj = load_cython_ext(mujoco_path) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/builder.py", line 110, in load_cython_ext cext_so_path = builder.build() File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/builder.py", line 226, in build built_so_file_path = self._build_impl() File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/builder.py", line 296, in _build_impl so_file_path = super()._build_impl() File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/builder.py", line 239, in _build_impl dist.ext_modules = cythonize([self.extension]) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize cythonize_one(*args) File "/home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: /home/devil/anaconda3/envs/chainerRL/lib/python3.6/site-packages/mujoco_py/cymj.pyx
解决方法:
更换cython版本:
pip install Cython==3.0.0a10
============================================
本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
如果未特殊标注的则为原创,遵循 CC 4.0 BY-SA 版权协议。