Создайте сборку pyqt в GitLab

Я делаю программу в 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 и ничего


person Reinier Hernández    schedule 06.06.2016    source источник
comment
Эта ошибка означает, что у вас не запущена графическая среда. Было бы полезно, если бы мы могли увидеть скрипт Python (или его части), чтобы помочь вам в этом.   -  person sajattack    schedule 09.06.2016
comment
Похоже, что этот поток решает вашу проблему: stackoverflow.com/questions/13215120/   -  person sajattack    schedule 09.06.2016
comment
Код вы можете найти здесь   -  person Reinier Hernández    schedule 09.06.2016


Ответы (2)


Если PyQt5 является опцией, Qt 5 имеет «минимальный» плагин платформы. Чтобы использовать его, измените argv, переданный в QApplication, чтобы включить ['-platform', 'minimal'].

(ссылка: https://stackoverflow.com/a/35355906/829568)

Для PyQt4 вы можете использовать виртуальный X-сервер:

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

(ссылка: https://stackoverflow.com/a/13215192/829568)

person Heinzi    schedule 11.09.2016

Я пытался:

  • включить ['-platform', 'minimal'] в sys.argv для QApplication: Ошибка
  • попробовал xvfb: получил 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/

Благодаря стиву

person azzamsa    schedule 31.03.2019