Почему pip3 устанавливается в /usr/local/bin64 вместо моего виртуального env, даже если он активирован?

#python-3.x #pip #virtualenv

#python-3.x #зернышко #virtualenv

Вопрос:

Я хочу, чтобы зависимости для проекта были установлены в виртуальной среде. Я успешно создаю его и активирую, но все равно установка зависимостей приводит к тому, что они устанавливаются в /usr/local/bin64 вместо моего виртуального env:

 [ec2-user@machine app]$ virtualenv environment created virtual environment CPython3.7.10.final.0-64 in 392ms  creator CPython3Posix(dest=/home/ec2-user/app/environment, clear=False, no_vcs_ignore=False, global=False)  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/ec2-user/.local/share/vi rtualenv)  added seed packages: pip==21.0.1, setuptools==54.1.2, wheel==0.36.2  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator [ec2-user@machine app]$ source environment/bin/activate (environment) [ec2-user@machine app]$ pip3 install -r requirements.txt Collecting anyio==3.4.0  Using cached anyio-3.4.0-py3-none-any.whl (78 kB) Collecting appdirs==1.4.4  Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting atomicwrites==1.4.0  Using cached atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB) Collecting attrs==20.3.0  Using cached attrs-20.3.0-py2.py3-none-any.whl (49 kB) Collecting boto3==1.20.14 ...  

Я нахожу, что посылки заканчиваются здесь: /usr/local/lib64/python3.7/site-packages

Но я ожидал , что они будут установлены внутри ~/app/environment , где был создан и активирован мой виртуальный env.

Я проверил местоположение pip и pip3, кажется, правильно:

 (environment) [ec2-user@machine app]$ which pip ~/app/environment/bin/pip (environment) [ec2-user@machine app]$ which pip3 ~/app/environment/bin/pip3  

Что я упускаю?

Ответ №1:

Вы звоните pip3 , который находится в другой среде. Попробуй pip . И вы можете подтвердить это с which pip помощью .

Комментарии:

1. Я проверил, но оба, похоже, находятся в правильном месте. Смотрите обновление к ответу выше. Я повторяю установку только с помощью pip, но с тем же результатом. Одна из моих зависимостей-newrelic, и когда я ищу машину, я нахожу ее только в глобальной папке пакетов сайтов в /usr/local/lib64/python3.7/пакеты сайтов/newrelic. Есть еще какие-нибудь идеи, что может быть причиной этого?

2. Ммм, попробуй python -m pip install ..