我有一个支持 python 2.4、2.6 和 2.7 的构建框。这导致在他们自己的 python 安装中需要安装各种版本的点子。我tox
用来通过setup.py
.
每当我运行 a{python2.7_installation_dir}/bin/python setup.py test
时,都会生成一个.tox
目录。.tox
在我运行的目录里面
py27/bin/pip --version
pip 1.4.1 from {my_package}/.tox/py27/lib/python2.7/site-packages (python 2.7)
[buildbot@BUILD-SERV-01 .tox]# python2.7
Python 2.7.6 (default, Nov 20 2013, 15:33:09)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pip
>>> pip.__version__
'1.5.2'
所以 .tox 目录中的 pip 版本是 1.4.1,而我用来执行的 python 解释器安装的 pipsetup.py test
是 1.5.2。这会在运行测试时导致错误,因为它使用 pip 安装目录,其中一些来自外部源,在 1.5.2 中,我们需要为其中一个模块显式设置 --allow-external --allow-unverified 标志在 1.4.1 中不存在,每次我通过 tox 调用测试时都会导致错误。
只有一个python2.7安装,它是从源代码安装的。但我认为它运行 pip 1.4.1,但现在已升级为使用 1.5.2。tox怎么能用老版本?有没有.pth
需要清理的文件或东西?
我可以tox
直接删除并运行 pytests,但我更喜欢通过tox
.
如果您想查看日志,请告诉我,我可以使用日志更新问题。