Create a pyqt build in GitLab

2020-02-15 02:44发布

I'm making a program in pyqt4, using python3.4 and host on Gitlab. When I'm trying to make a build this fails. This is the .gitlab-ci.yml file form my project:

 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

The error is: main.py: cannot connect to X server: 0.0. I am trying without export DISPLAY=:0.0 and nothing

2条回答
时光不老,我们不散
2楼-- · 2020-02-15 03:16

If PyQt5 is an option, Qt 5 has the "minimal" platform plugin. To use it, modify the argv passed to QApplication to include ['-platform', 'minimal'].

(reference: https://stackoverflow.com/a/35355906/829568)

For PyQt4, you could use a virtual X Server:

sudo apt-get install xvfb
xvfb-run python render.py

(reference: https://stackoverflow.com/a/13215192/829568)

查看更多
smile是对你的礼貌
3楼-- · 2020-02-15 03:17

I've tried:

  • include ['-platform', 'minimal'] in sys.argv for QApplication : Failed
  • tried xvfb : Got xvfb-run: error: xauth command not found (even after setting the PATH)

But QT_QPA_PLATFORM: "offscreen" work like a charm and saved the day.

example:

pytest:
  image: python:3.6
  variables:
    QT_QPA_PLATFORM: "offscreen"
  script:
    - pytest tests/

Thanks to steve

查看更多
登录 后发表回答