我在Mac上安装了Python 2.7和3.3。我试图让Pytest在Python 3.3下运行我的测试。
当我运行python3 -m py.test时,它停止,寻找3.3路径下的libs。
当我运行pip install -U pytest时,它安装到2.7路径。
我看过Virtualenv的写作,但我还没准备好去那里。
还有其他办法吗?
答案 0 :(得分:1)
看看tox项目。它可以帮助您在不同的python版本和解释器下测试代码。
示例tox.ini
配置您的案例:
[tox]
envlist = py27,py33
[testenv]
deps = pytest
commands = py.test
这不是一个银弹,但它肯定有助于自动化您繁琐的测试活动。
答案 1 :(得分:1)
除了genscript选项之外,通常的方法是将py.test安装到python3.3解释器的环境中。您遇到的问题是您调用的pip也是py27版本,因此它将安装到py27中。
所以你可以开始将pip安装到py33(通常在别名pip3下),然后调用那个pip,或者只需在py33环境中以老式的方式安装py
和pytest
:下载包裹并运行python3.3 setup.py install --user
。
然后,您仍然需要确保可以调用py.test的正确版本,但要么确保可以使用别名调用py.test
和py.test3
。或者只使用pythonX.Y -m pytest
。