Ответ 1
Внутри вашей среды вы можете попробовать
python -m pytest
Я установил pytest в virtualenv и запускаю его из этого виртуального env, но он не использует пакеты, которые я установил в этом виртуальном env. Вместо этого он использует основные системные пакеты. (Используя "python -m unittest обнаружить", я могу запустить мои тесты с помощью правильного python и пакетов, но я хочу использовать фреймворк py.test.)
Возможно ли, что py.test фактически не запускает pytest внутри virtualenv, и я должен указать, какой pytest будет запущен?
Как заставить py.test использовать только питон и пакеты, которые находятся в моем virtualenv?
Кроме того, поскольку у меня есть несколько питонов в моей системе, как я могу определить, какой python python использует? Будет ли он автоматически использовать python внутри моего virtualenv, или мне нужно каким-то образом указать?
Внутри вашей среды вы можете попробовать
python -m pytest
В моем случае я был вынужден покинуть venv (деактивировать), удалить pytest (pip uninstall pytest), ввести venv (source/my/path/to/venv), а затем переустановить pytest (pip install pytest). Я не знаю точно, почему pip отказывается устанавливать pytest в venv (он говорит, что он уже присутствует).
Я надеюсь, что это поможет
вам нужно активировать свой python env каждый раз, когда вы хотите запустить свой python script, у вас есть несколько способов его активировать, мы предполагаем, что ваш virtualenv установлен в /home/venv:
1- основанный на запуске python с одной командной строкой
>>> /home/venv/bin/python <your python file.py>
2- добавьте эту строку в начало файла python script
#! /home/venv/bin/python
, а затем запустите python <you python file.py>
3- активируйте свой python env source /home/venv/bin/activate
, а затем запустите вас script как python <you python file.py>
4- используйте virtualenvwrapper для управления и активируйте свои среды python