我正在pyqt4
制作一个程序,使用python3.4
并在Gitlab上托管。当我试图进行构建时,这会失败。这是我的项目的.gitlab-ci.yml
文件:
before_script:
- apt-get update -qy
- apt-get install -y python3 python3-dev python3-pip python3-pyqt4
- export DISPLAY=:0.0
test:
script:
- python3 main.py
错误是:main.py: cannot connect to X server: 0.0
。我正在尝试没有export DISPLAY=:0.0
,没有
如果PyQt5是一个选项,Qt 5有“最小”平台插件。要使用它,修改传递给QApplication的argv以包含['-platform','minimal']。
(参考:https://stackoverflow.com/a/35355906/829568)
对于PyQt4,您可以使用虚拟X服务器:
sudo apt-get install xvfb
xvfb-run python render.py
我试过了:
['-platform', 'minimal']
:失败xvfb-run: error: xauth command not found
(甚至在设置了PATH之后)但QT_QPA_PLATFORM: "offscreen"
像魅力一样工作,挽救了这一天。
例:
pytest:
image: python:3.6
variables:
QT_QPA_PLATFORM: "offscreen"
script:
- pytest tests/
感谢steve