Pycharm видит только глобальные пакеты

При создании проекта в PyCharm создаю новую venv(inherit global site-packages активна), используя virtualenv. При старте запускается терминал с припиской venv, но pip list выводит список глобальных пакетов, а не локальных. При использовании pip install пакеты устанавливаются только глобально.

введите сюда описание изображения

Если в терминале ввести deactivate, а затем запустить файл activate.bat из папки venv\Scripts, запустится venv, в которой pip list будет отображать локальные пакеты(т.е. то, что нужно).

введите сюда описание изображения

При открытии еще одного окна в терминале, pycharm опять видит только глобальные пакеты:

введите сюда описание изображения

Интерпретатор при этом не меняется: введите сюда описание изображения

Через Project Interpetator я могу устанавливать пакеты, но при запуске скрипта через python filename.py ошибка ModuleNotFoundError. Через deactivate, activate.bat и запуске скрипта - ошибки не будет.

Собственно вопрос - как сделать так, чтобы при запуске Pycharm сразу видел локальные пакеты, а не глобальные.


Ответы (3 шт):

Автор решения: Roman Konoval

Это происходит потому, что у вас не включена опция автоматической активации virtual env-a в терминале.

Включается это в Settings (Preferences) | Tools | Terminal:

Активация виртуального окружения в терминале PyCharm

Так как опция не включена, то у вас используется глобальный питон и приходится делать ручную активацию.

→ Ссылка
Автор решения: Knjaz1989 Knjaz1989

столкнулся примерно с такой же проблемой. По итогу понял что виртуальное окружение нужно создавать через команду

python - m venv [имя окружения]

После этого пайчарм нормально стал воспринимать окружение. При деактивации выдавал глобальные пакеты, а при активации пакеты виртуального окружения. А вот если создавать виртуальное окружение через пайчарм то возникает проблема и при команде pip list выдает только глобальные пакеты. Также почему то если использовать powershell в терминале, то возникают проблемы. В настройках я переключил на cmd

→ Ссылка
Автор решения: Andrey Solodnev

Была аналогичная проблема. Решение - не использовать кириллицу в пути к проекту. В данном случае необходимо переименовать "ПВГ" в, например, "PVG", удалить виртуальную среду, затем создать новую. Вывод команды терминала

which python

должен выдать путь к интерпретатору Вашей виртуальной среды - D:\PVG\venv\Scripts\python

→ Ссылка