我有一个支持python 2.4,2.6和2.7的编译框。这会导致按照自己的python安装要求安装各种版本的点。我使用tox
通过setup.py
运行测试。当安装了多个版本的python时,tox使用错误版本的pip
每当我运行{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)
[[email protected] .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,其中的安装,我使用执行setup.py test
是1.5.2 Python解释器点子。这在运行测试时会导致错误,因为它使用pip来安装目录,并且其中一些来自外部源,并且在1.5.2中我们需要明确地设置--allow-external --allow-uniserified标志,用于其中一个模块在1.4.1中不存在,每当我通过tox调用测试时都会导致错误。
只有一个python2.7安装,它是从源代码安装的。但我认为它运行点1.4.1,但现在升级到1.5.2。如何毒素可以使用旧版本?是否有任何.pth
文件或可能遗留下来的需要清理的文件?
我可以放下tox
并直接运行pytests,但我更愿意通过tox
运行它们。
请让我知道如果你想看到日志,我可以用日志更新问题。
您是否找到解决方案?我也有同样的问题。 – Vetalll
不,我因为缺乏时间研究而放弃了怯懦! – opensourcegeek