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

百般思念 提交于 2021-01-27 15:07:58

问题


I think this is a not a programming specific bug, but is caused by some libraries.

I am transferring my project to a new PC, which I have freshly setup with anaconda etc. using python 3.7.6. Executing the task on the old machine works fine, here I have also used anaconda with python 3.7 (not sure if it was 3.7.6 but I could check this, i just used while creating the environment python=3.7).

When I now try to run my program, I receive:

Exception in Tkinter callback
Traceback (most recent call last):
...    
TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported.

The error is quite long, but it is caused by the following libraries: calling gym.envs which then calls some pyglet.libs

The last line in the error is

...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]

Thank you for your help! I do not know how to solve this or even start solving it.


回答1:


It seems like there is simply no support currently for using gym+pyglet in python version 3.7.6+.

The pyglet error is fixed in 1.4.9+ but gym is currently not compatible with those versions.

Still it is possible to simply downgrade python to 3.7.4 and everything works fine as it is supposed to do.



来源:https://stackoverflow.com/questions/59892863/python-error-typeerror-item-1-in-argtypes-passes-a-union-by-value-which-is

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!