我认为这不是特定于编程的错误,而是由某些库引起的。
我正在将我的项目转移到一台新 PC,我已经使用 python 3.7.6 用 anaconda 等新设置了它。在旧机器上执行任务工作正常,这里我还使用了 anaconda 和 python 3.7(不确定它是否是 3.7.6 但我可以检查这个,我只是在创建环境 python=3.7 时使用)。
当我现在尝试运行我的程序时,我收到:
Exception in Tkinter callback
Traceback (most recent call last):
...
TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported.
错误很长,但它是由以下库引起的:
调用gym.envs 然后调用一些pyglet.libs
错误中的最后一行是
...from pyglet.libs.x11 import xlib
File "...7/lib/python3.7/site-packages/pyglet/libs/x11/xlib.py", line 2928, in <module>
XEHeadOfExtensionList.argtypes = [XEDataObject]
感谢您的帮助!我不知道如何解决这个问题,甚至不知道如何开始解决。
最佳答案
目前似乎根本不支持在 python 3.7.6+ 版本中使用gym+pyglet。
pyglet 错误已在 1.4.9+ 中修复,但gym 目前与这些版本不兼容。
仍然可以简单地将 python 降级到 3.7.4,并且一切正常。
关于Python 错误 - 不受支持的类型错误 : item 1 in _argtypes_ passes a union by value,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59892863/