[英]How to make nosetests use python3
我嘗試使用nosetests
❯ 鼻子測試 '/pathTo/test'
但它使用python 2.7
進行我的測試:
sys.version_info(major=2, minor=7, micro=5, releaselevel='final', serial=0)
所以其中一些失敗了,因為它們是用python 3.3
編寫的。
我解決了它並安裝了虛擬環境:
pyvenv-3.3 py3env
激活它:
source ~/py3env/bin/activate
在虛擬環境中檢查python virsion:
❯ python --version ⏎
Python 3.3.3
(py3env)
好的。 但即使在虛擬環境中,nosetest 仍然使用python2.7
:
sys.version_info(major=2, minor=7, micro=5, releaselevel='final', serial=0)
所以我的測試失敗了。 如何讓鼻子使用python3?
在Python 3.4
及更高版本中:為了使鼻子使用python3
只需運行...
python3 -m "nose"
...在帶有測試的目標目錄中。
不需要環境設置。
安裝:
sudo apt-get install python-nose python3-nose
跑步:
nosetests-2.7 ; nosetests3
這將在 PY2 和 PY3 下運行測試套件。
我找到了在沒有環境的情況下在 python3 中使用鼻子測試的方法:
cd /Library/Frameworks/Python.framework/Versions/3.3/bin
進而:
❯ nosetests-3.3 '/folder/with/tests'
nosetests-3.3
使用python 3
就是這樣。
如果您想使用命令nosetests
而不是nosetests-3.3
,請添加~/.bash_profile
:
nosetests()
{
/Library/Frameworks/Python.framework/Versions/3.3/bin/nosetests-3.3 $1
}
現在您可以使用:
nosetests '/folder/with/tests'
從任何目錄。 它使用python3
。
這不是一個 virtualenv 問題,而是一個 linux 問題。
這意味着當您從終端使用命令nosetests
,linux 會在它的可用路徑( /bin
、 /sbin
或您提供的任何路徑)中查找此類可執行文件。
首先找到並執行您的全局 python 2 nosetests
。
您的 virtualenv python3 nosetests
位於可用路徑列表的后面,因此從未到達。
我建議每個虛擬環境只安裝nose 或任何其他python 命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.