2016-12-14 16 views
3

Я установил Tox для моего проекта python. все нормально для не связанных с Qt тестов, но, к сожалению, у меня возникли проблемы с установкой pyqt с помощью tox.Использование PyQt5 с Tox (Python3.4 и Python3.5)

Я использую python3.4, поэтому невозможно установить PyQt5 из pip (я думаю) Но я также хочу проверить это приложение с помощью python3.5 (и с python 3.5 pyqt5 доступно с помощью pip)

Таким образом, я предполагаю, что я не могу просто добавить pyqt5 в моем requirements.txt, потому что она не будет выполнена для python3.4

в конце концов (может быть хак) в моем setup.py я мог проверить ток python и пишите или удалите pyqt5 из требований. txt в зависимости от текущей версии python, но она выглядит грязной.

Как вы это сделаете?

У меня также есть python3.4 virtualenv для этого проекта, который содержит pyqt и все зависимости. Можно ли сказать Tox использовать мой существующий virtualenv для python3.4 и создать новый для python3.5?

Вот мой файл токсикодендрон (для python3.4 только для python3.5, я просто заменить версию)

[tox] 
envlist = py{34} 

[testenv] 
basepython = 
    py34: python3.4 

deps = 
    check-manifest 
    readme_renderer 
    flake8 
    pytest 
commands = 
    py{34}: python setup.py check -m -s 
    py.test tests/ 

[flake8] 
exclude = .tox,*.egg,build,data,test 
select = E,W,F 
max-line-length = 99 
+0

Обязательно используйте ['pytest-xvfb'] (https://github.com/pytest-dev/pytest-qt/issues/170#issuecomment-301019150), чтобы избежать' InvocationError', потому что ['DISPLAY' и «XAUTHORITY» не передаются через tox] (https://github.com/pytest-dev/pytest-qt/issues/170#issuecomment-300937035). – ederag

ответ

0

Я не вижу requirements.txt, участвующих здесь вообще. Почему бы просто не использовать py35: PyQt5 в deps?

Для других версий Python я написал a script, чтобы символизировать/скопировать общесистемную установку в virtualenv - что могло бы помочь.

+0

В файле setup.py содержится файл requirements.txt. Если я понимаю, я могу обновить свой tox.ini и поместить в раздел «deps» py35: PyQt5, и он установит pyqt5 только для python3.5, а не для python3.4? поэтому я могу использовать ваш скрипт для синхронизации PyQt5 с python3.4? – PyNico