【发布时间】:2017-04-29 21:06:57
【问题描述】:
我为我的 python 项目设置了 Tox。与 Qt 无关的测试一切正常,但不幸的是,我无法使用 tox 安装 pyqt。
我正在使用 python3.4,因此无法从 pip 安装 PyQt5(我认为) 但我也希望能够使用 python3.5 测试此应用程序(并且使用 python 3.5 pyqt5 可用于 pip)
所以,我想我不能只在我的 requirements.txt 中添加 pyqt5,因为它对于 python3.4 会失败
最终(可能是 hack)在我的 setup.py 中,我可以检查当前的 python 版本并根据当前的 python 版本从 requirements.txt 中写入或删除 pyqt5,但它看起来很脏。
你会怎么做?
我还有一个 python3.4 virtualenv 用于这个项目,其中包含 pyqt 和所有依赖项。 是否可以告诉 Tox 将我现有的 virtualenv 用于 python3.4 并为 python3.5 创建一个新的?
这是我的 tox 文件(仅适用于 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
【问题讨论】:
-
确保使用
pytest-xvfb避免使用InvocationError,因为DISPLAYandXAUTHORITYare not passed through tox。