我有一個支持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