我正在尝试在 Gitlab CI/CD 中使用 pytest 运行一些测试。其中一些测试包括使用 Pyglet 模块进行渲染。
我收到错误:
pyglet.window.NoSuchConfigException: No standard config is available.
我已经尝试了
headless=True
和False
。
然后我发现xvfb
所以我尝试通过制作虚拟屏幕来运行测试:
before_script:
- apt-get install -y xorg-dev libglu1-mesa libgl1-mesa-dev xvfb libxinerama1 libxcursor1
- export DISPLAY=:0
script:
- conda run -n myenv-3.10-cpu xvfb-run -a -s "-screen 0 1400x900x24 +extension RANDR" python -m pytest -vvv ./tests
这并没有解决我的问题,因为我遇到了同样的错误。 请注意,测试在我的笔记本电脑上本地运行得非常好。
追溯:
from pyglet.window import key
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/window/__init__.py:1929: in <module>
gl._create_shadow_window()
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/gl/__init__.py:165: in _create_shadow_window
_shadow_window = ShadowWindow()
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/gl/__init__.py:159: in __init__
super().__init__(width=1, height=1, visible=False)
检查此代码片段。
before_script:
- apt-get install -y xorg-dev libglu1-mesa libgl1-mesa-dev xvfb libxinerama1 libxcursor1
- export DISPLAY=:0
- Xvfb $DISPLAY -screen 0 1400x900x24 +extension RANDR &
script:
- conda run -n myenv-3.10-cpu python -m pytest -vvv ./tests