Почему Clear Python virtualenv использует системную библиотеку Python? - PullRequest
0 голосов
/ 23 октября 2019

Я новичок в области автоматизации (Python + Pytest). Я пытаюсь использовать clear virtualenv на моем Mac, но каким-то образом Pytest запускается из локального каталога.

Итак, что я пытаюсь сделать:

  1. У меня есть проект со многими пакетами pip(pytest, selene и т. д.).
  2. Я делаю:
$ pip3 install --user virtualenv
$ virtualenv --no-site-packages venv
$ cd venv/
$ source venv/bin/activate
$ echo $PATH
> /Users/.../venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/puppetlabs/bin
$ which python
> /Users/.../venv/bin/python
$ which pytest
> /usr/local/bin/pytest

И когда я пытаюсь запустить мой pytest - он делает! Но не должен! Если я удаляю Pytest из моего Mac как:

$ pip3 uninstall pytest

, он работает, и я получаю чистую версию.


Python 3.7.4

Это pytest версия 5.2.1 , импортированная из /usr/local/lib/python3.7/site-packages/pytest.py

setuptools зарегистрированных плагинов: pytest-reportportal-1.0.4 в /usr/local/lib/python3.7/site-packages/pytest_reportportal/plugin.py

Может кто-нибудьскажи что я делаю не так? Или в чем проблема? Как создать чистый venv без зависимостей от локальных библиотек PATH?

1 Ответ

1 голос
/ 23 октября 2019

Поведение кажется совершенно нормальным, работает как задумано.

Установите pytest в вашей виртуальной среде, тогда он будет иметь приоритет над глобально установленным, так как он будет расположен выше в вашем $PATH. Подумайте об удалении глобального, если вы не собираетесь его использовать.

...