pip install -r require.txt на virtualenv устанавливается не локально, а глобально, даже после активации

Я попытался установить все зависимости в свой requirements.txt (список пакетов). Что я сделал:

  • создал виртуальную среду virtualenv my_env
  • активировал новую виртуальную среду, я могу видеть свою виртуальную среду до приглашения (my_env) $
  • побежал pip install -r requirements.txt

Все пакеты установились, но при проверке с помощью pip freeze у меня ничего нет. Пробовал деактивировать виртуальную среду, и снова сделал pip freeze, здесь у меня все установлено.

Я немного сбит с толку, потому что я уверен, что мой виртуальный env был активирован, и у меня есть правильный путь пипса, когда я делаю which pip внутри него (/home/virtual_env/my_env/bin/pip). Кроме того, я попытался установить зависимости одну за другой, и они были установлены прямо внутри виртуальной среды и отображались с помощью pip freeze.

Я не могу сделать их все по одному, и мне нужно где-то воспроизвести установку. Может ли кто-нибудь помочь в этом?


person 4givN    schedule 10.12.2019    source источник
comment
Иногда помогает использование python -m pip command ... вместо pip command .... Убедитесь, что двоичный файл python также является правильным с which python.   -  person sinoroc    schedule 10.12.2019
comment
Вы использовали sudo?   -  person phd    schedule 10.12.2019
comment
Нет, я не использовал sudo.   -  person 4givN    schedule 10.12.2019
comment
нашел другие связанные билеты, но ни одно из предоставленных решений не сработало :( : stackoverflow.com/questions/20952797/, stackoverflow.com/questions/20942982/   -  person 4givN    schedule 10.12.2019
comment
Что-нибудь полезное в подробном или отладочном выводе?   -  person sinoroc    schedule 11.12.2019
comment
Что-нибудь полезное в подробностях   -  person 4givN    schedule 17.12.2019


Ответы (1)


До сих пор нет чистого решения для этого, но что будет работать, так это копировать-редактировать (найти и заменить символ return в requirements.pip на && pip install. То есть отредактировать его из этого формата

package1==vX.Y
package2==vU.V
...

в это

package1==vX.Y && pip install package2==vU.V ...

Добавьте установку pip в начале, затем сделайте копию для всех команд установки, например

pip install package1==vX.Y && pip install package2==vU.V ...
person 4givN    schedule 11.12.2019