Как использовать python venv как с пакетами сайта, так и с pip? - PullRequest
0 голосов
/ 01 июня 2018

Когда я запускаю python venv:

python -m venv test-env
. test-env/bin/activate

У меня есть виртуальная среда с доступной pip (хотя она не доступна для моей среды за пределами venv. Однако в этой среде должны быть установлены все пакеты,которые уже доступны глобально. Я узнал, что я должен установить venv с флагом --system-site-packages. Но когда я делаю это:

python -m venv --system-site-packages test-env
. test-env/bin/activate

я не могу использовать pip внутри виртуальной среды, поэтомуэто бессмысленно, потому что я не могу установить дополнительные пакеты. Как решить эту проблему?

1 Ответ

0 голосов
/ 01 июня 2018

Я не могу использовать pip внутри виртуальной среды, так что это бессмысленно, потому что я не могу устанавливать дополнительные пакеты.Как решить эту проблему?

Немного рано, чтобы отказаться от pip!Вы можете добавить любой пакет, который вы хотите в новой среде, например:

pip install pandas

Похоже, вы не уверены в списке ваших зависимостей.Обычно они хранятся в файле с именем requirements.txt, который является специфическим для проекта.Например, хранилище github обычно имеет requirements.txt - так что пользователи могут реплицировать зависимости.

Вы можете создать requirements.txt вручную или использовать pip freeze после установки необходимых пакетов один за другим.Чуть больше здесь .

Также рекомендуется взглянуть на pipenv , который сочетает в себе функциональность virtualenv и pip под одной крышей.

...