Как установить зависимости из скопированного pip-файла в виртуальной среде? - PullRequest
0 голосов
/ 04 сентября 2018

Проблема возникает, когда я начинаю с клонирования git-проекта, использующего pipenv, поэтому он имеет Pipfile + Pipfile.lock. Я хочу использовать виртуальную среду с проектом, поэтому я запускаю pipenv shell. Теперь у меня есть виртуальная среда, и я нахожусь внутри виртуальной среды. Проект, очевидно, имеет много зависимостей (перечисленных в Pipfile). Я не хочу просматривать один большой список в Pipfile и устанавливать их, используя pipenv install <package_name>. Существует ли команда pipenv / pip, которая устанавливает все пакеты из файла Pip, который у меня уже есть? Или, может быть, мне нужно настроить окружение иначе, чем запустить pipenv shell? Примечание: pip freeze ничего не возвращает.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Правильный ответ на этот вопрос заключается в том, что pipenv install или pipenv install --dev (если есть зависимости dev) должны быть запущены. Это установит все зависимости в Pipefile. Поместить зависимости в файл require.txt и затем использовать pip, но это не обязательно. Смысл использования pipenv для большинства людей состоит в том, чтобы избежать необходимости управлять файл require.txt или использовать pip.

РЕДАКТИРОВАТЬ: если virtualenv уже активирован, вы также можете использовать pipenv sync или pipenv sync --dev для того же эффекта.

0 голосов
/ 04 сентября 2018

В идеале, вам рекомендуется иметь файл requirements.txt, который содержит все пакеты, необходимые для установки через pip. Вы можете создать этот файл, выполнив:

pip freeze > requirements.txt

Вы можете преобразовать Pipfile и Pipfile.lock в файл needs.txt. Взгляните на это

pipenv lock -r

После этого вы можете установить все свои модули в виртуальной среде Python, выполнив следующие действия:

pip install -r requirements.txt

Надеюсь, я ответил на ваш вопрос.

...