在Tox中使用PyQt5(Python3.4和Python3.5)

问题描述:

我为我的python项目设置了Tox。对于不是Qt相关的测试,一切正常,但不幸的是我很难用tox安装pyqt。在Tox中使用PyQt5(Python3.4和Python3.5)

我使用的python3.4,所以它是不可能从pip安装PyQt5(我认为) 但我也希望能够测试这个应用程序与python3.5(和python 3.5 pyqt5可用与点)

所以,我想,我不能只是在我的setup.py添加pyqt5我requirements.txt,因为它会为python3.4失败

最终(可能是黑客)我可以检查当前python版本,根据当前的python版本,从requirements.txt写入或删除pyqt5,但它看起来很脏。

你该怎么做?

我也有一个python3.4 virtualenv这个项目,其中包含pyqt和所有的依赖项。 是否有可能告诉Tox使用我现有的virtualenv for 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 
+0

确保使用['pytest-xvfb'](https://github.com/pytest-dev/pytest-qt/issues/170#issuecomment-301019150)避免因'[DISPLAY'和'XAUTHORITY'不通过tox](https://github.com/pytest-dev/pytest-qt/issues/170#issuecomment-300937035)。 – ederag

我没有看到这里所有参与任何requirements.txt。为什么不简单地在deps中使用py35: PyQt5

对于其他Python版本,我写了a script来将符号链接/复制到virtualenv系统范围的安装 - 这可能会有所帮助。

+0

requirements.txt位于setup.py中。如果我明白了,我可以更新我的tox.ini,并放入“deps”部分py35:PyQt5,它将安装pyqt5仅用于python3.5而不用于python3.4?所以我可以用你的脚本将PyQt5链接到python3.4? – PyNico