web-dev-qa-db-ja.com

nosetestsにpython3を使用させる方法

nosetestsを使用しようとしています
❯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 in virtual environment:

❯ python --version                                                                                 ⏎
Python 3.3.3
(py3env)

OK。しかしnosetestは仮想環境でもpython2.7を使用します:

sys.version_info(major=2, minor=7, micro=5, releaselevel='final', serial=0)

だから私のテストは失敗します。 鼻にpython3を使用させる方法

29
Maxim Yefremov

Python 3.4以降のバージョン:鼻を使用するためにpython3 とにかく走れ ...

python3 -m "nose"

...テストを含むターゲットディレクトリ。

環境設定は不要です。

27
Maxim Yefremov

インストールするには:

Sudo apt-get install python-nose python3-nose

走る:

nosetests-2.7 ; nosetests3

これにより、PY2とPY3の両方でテストスイートが実行されます。

2
ArekBulski

私は環境なしでpython3でnosetestsを使用する方法を見つけました:

cd /Library/Frameworks/Python.framework/Versions/3.3/bin  

その後:

❯ nosetests-3.3 '/folder/with/tests'

nosetests-3.3python 3を使用します

それでおしまい。

また、nosetests-3.3ではなくコマンドnosetestsを使用する場合は、~/.bash_profileを追加します。

nosetests()
{
    /Library/Frameworks/Python.framework/Versions/3.3/bin/nosetests-3.3 $1
}

今あなたは使うことができます:

nosetests '/folder/with/tests'

任意のディレクトリから。 python3を使用します。

2
Maxim Yefremov

これはLinuxの問題ほどvirtualenvの問題ではありません。

つまり、ターミナルからコマンドnosetestsを使用すると、Linuxは使用可能なパス(/bin/sbin、またはそれが何であれ、そのような実行可能ファイルの場合。

グローバルpython 2 nosetestsが最初に見つかり、実行されます。

Virtualenv python3 nosetestsは、利用可能なパスのリストの後半にあるため、到達できません。

仮想環境ごとに、鼻またはその他のpythonコマンドのみをインストールすることをお勧めします。

0
l__flex__l