Python Error - TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported

Python Error - TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported

我认为这不是特定于编程的错误,而是由某些库引起的。

我正在将我的项目转移到一台新 PC,我使用 python 3.7.6 使用 anaconda 等对​​它进行了全新设置。在旧机器上执行任务工作正常,在这里我还使用了带有 python 3.7 的 anaconda(不确定它是否是 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,并且一切正常。

降级您的 pyttsx3 版本:

pip install pyttsx3==2.71