Подтвердить что ты не робот

Как сделать 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 в виртуальной среде:

❯ 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?

4b9b3361

Ответ 1

В Python 3.4 и более высоких версиях: для того, чтобы использовать нос для использования носа python3...

python3 -m "nose"

... в целевом каталоге с тестами.

Настройка среды не требуется.

Ответ 2

Я нашел способ использовать nosetests с 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.

Ответ 3

Для установки:

sudo apt-get install python-nose python3-nose

Для запуска:

nosetests-2.7 ; nosetests3

Запускает тестовый набор под PY2 и PY3.