如何使用 python3 setup.py 测试 PyTest 和 PyQt5?
How to use python3 setup.py test with PyTest and PyQt5?
是否可以在依赖于 PyQt5 的包中遵循此处 http://pytest.org/latest/goodpractices.html 的 Good Integration? (我用的是Ubuntu14.04,不知道有没有影响)
我通过两种建议的方法得到以下结果:
$ python3 setup.py test
running test
Searching for pyqt5
Reading https://pypi.python.org/simple/pyqt5/
No local packages or download links found for pyqt5
error: Could not find suitable distribution for Requirement.parse('pyqt5')
我可以 pip3 install pyqt5
,这就是为什么我将 pyqt5 放在我的 setup.py
中的原因。命令行中的 运行 py.test
也可以正常工作。
运行 py.test
在命令行中执行当前 Python 环境中的测试。
运行 python3 setup.py test
(根据pytest的'Good Integration Practices'使用pytest-runner)创建一个伪虚拟环境。它将任何缺失的依赖项作为 egg 引入(将它们存储在 .eggs 目录中),然后在上述环境中执行测试。
明确地说,py.test
和 python3 setup.py test
做不同的事情。
为了说明这两个命令之间的区别,这里有几个场景:
py.test
py.test
- 启动 pytest,您的测试可能会失败,因为 PyQt5 不可导入
pip3 install PyQt5 && py.test
- 在当前环境中安装 bdist_wheel 的 PyQt5 然后启动 pytest,你的测试大概会成功
pytest-runner
python3 setup.py test
- 启动 pytest-runner,检查 setup.py 中的依赖项,确定 PyQt5 不可用,尝试拉鸡蛋(但是无法,因为 PyQt5 只能作为 bdist_wheel,而不是源代码分发),然后吐出一条错误消息并退出
pip3 install PyQt5 && python3 setup.py test
- 在当前环境中安装 bdist_wheel 的 PyQt5 然后启动 pytest-runner,检查 setup.py 中的依赖项,确定所有依赖项都可用,启动 pytest,你的测试大概会成功
简单的答案是否定的,不可能按照您的要求进行操作。不管怎样,您需要在 运行 测试之前将 PyQt5 安装到环境中。
是否可以在依赖于 PyQt5 的包中遵循此处 http://pytest.org/latest/goodpractices.html 的 Good Integration? (我用的是Ubuntu14.04,不知道有没有影响)
我通过两种建议的方法得到以下结果:
$ python3 setup.py test
running test
Searching for pyqt5
Reading https://pypi.python.org/simple/pyqt5/
No local packages or download links found for pyqt5
error: Could not find suitable distribution for Requirement.parse('pyqt5')
我可以 pip3 install pyqt5
,这就是为什么我将 pyqt5 放在我的 setup.py
中的原因。命令行中的 运行 py.test
也可以正常工作。
运行 py.test
在命令行中执行当前 Python 环境中的测试。
运行 python3 setup.py test
(根据pytest的'Good Integration Practices'使用pytest-runner)创建一个伪虚拟环境。它将任何缺失的依赖项作为 egg 引入(将它们存储在 .eggs 目录中),然后在上述环境中执行测试。
明确地说,py.test
和 python3 setup.py test
做不同的事情。
为了说明这两个命令之间的区别,这里有几个场景:
py.test
py.test
- 启动 pytest,您的测试可能会失败,因为 PyQt5 不可导入pip3 install PyQt5 && py.test
- 在当前环境中安装 bdist_wheel 的 PyQt5 然后启动 pytest,你的测试大概会成功
pytest-runner
python3 setup.py test
- 启动 pytest-runner,检查 setup.py 中的依赖项,确定 PyQt5 不可用,尝试拉鸡蛋(但是无法,因为 PyQt5 只能作为 bdist_wheel,而不是源代码分发),然后吐出一条错误消息并退出pip3 install PyQt5 && python3 setup.py test
- 在当前环境中安装 bdist_wheel 的 PyQt5 然后启动 pytest-runner,检查 setup.py 中的依赖项,确定所有依赖项都可用,启动 pytest,你的测试大概会成功
简单的答案是否定的,不可能按照您的要求进行操作。不管怎样,您需要在 运行 测试之前将 PyQt5 安装到环境中。