Почему пакеты часто ставятся в основной Python, а не в виртуальное окружение?
Делаю под каждый проект, где собираюсь использовать стороннюю библиотеку, отдельное виртуальное окружение.
Потом ставлю туда нужные пакеты, через pip install
Два пакета встало, я начал писать код, через некоторое время мне понадобился еще один, пытаюсь установить - а оно ставится в основной питон.
И это уже не в первый раз...
В командной строке конечно та папка, которая мне и нужна.

Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Как определить в каком окружении вы находитесь.
- В
cmdдолжна быть указана папка в скобках для виртуального пространства. Она появляется после активации.
Изначально
C:\Users\Dmitry\proj>
В данной папке у меня лежит venv-папка с виртуальным пространством, т.е. если я вызову dir, то увижу следующее
C:\Users\Dmitry\proj>dir
Directory of C:\Users\Dmitry\proj
17.02.2022 18:22 <DIR> .
17.02.2022 18:22 <DIR> ..
06.12.2021 08:33 <DIR> venv
- Теперь активирую виртуальное пространство и сразу в
cmdможно увидеть, что я его использую (на вашем скрине, понятно, что вы не находитесь в виртуальном пространстве)
C:\Users\Dmitry\proj>venv\Scripts\activate
(venv) C:\Users\Dmitry\proj>
- Из интерпретатора
pythonможно спросить: какойpythonвы сейчас используете
(venv) C:\Users\Dmitry\proj>py
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\Python39\\python39.zip', 'C:\\Python39\\DLLs', 'C:\\Python39\\lib',
'C:\\Python39', 'C:\\Users\\Dmitry\\proj\\venv',
'C:\\Users\\Dmitry\\\proj\\venv\\lib\\site-packages']
Два послдених члена указывают на мою папку с виртуальным окружением
- Если деактивировать пространство, то тогда вывод будет таким
C:\Users\Dmitry\proj>py
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\Python39\\python39.zip', 'C:\\Python39\\DLLs', 'C:\\Python39\\lib',
'C:\\Python39', 'C:\\Python39\\lib\\site-packages']
В этом случае, у меня глобальное окружение