установить пакеты в виртуальной среде с помощью pipenv из файла environment.yml - PullRequest
0 голосов
/ 15 октября 2019

Я начинаю работу с pipenv, однако я хочу воспроизвести проект кого-то еще, кто работал с conda. У меня есть соответствующий файл environment.yml, и я хочу загрузить необходимые пакеты в виртуальную среду с помощью установки pipenv. Конечно, я мог бы сделать это вручную один за другим, но мне интересно, есть ли более изощренный способ преобразования файла environment.yml в файл pipfile или require.txt, из которого установка pipenv также сможет загрузитьпакеты в автоматическом режиме. спасибо Олмо

Ответы [ 3 ]

1 голос
/ 15 октября 2019

Создайте файл с именем require.txt, который будет включать все имена пакетов, которые вы хотите установить, так, чтобы имя каждого пакета находилось в одной строке.

Затем выполните команду ниже израсположение файла needs.txt в вашей локальной системе:

Шаг 1: переключитесь в свою среду с помощью команды conda activate environmentname (для windows) или source activate environmentname (для Linux / MacOS). После переключения имя вашей среды будет отображаться в круглых скобках перед командой.

Шаг 2:
Переключитесь на локальный каталог (содержащий needs.txt), находящийся в вашей среде, и выполните следующую команду:

pip install -r needs.txt

Это также поможет: https://pipenv.readthedocs.io/en/latest/advanced/

1 голос
/ 15 октября 2019

environment.yml - это файл, сгенерированный менеджером пакетов conda. Хотя pipenv основан на менеджере пакетов pip.

AFAIK, это невозможно. pip и conda являются разными инструментами, а

  • используют другой формат в сгенерированном файле среды.
  • Поддерживаемые ими форматы пакетов различны
  • Облачные хосты для распространения пакетов также различны.
0 голосов
/ 15 октября 2019

Способ, которым я решил эту проблему, состоял в том, чтобы переименовать «environment.yml», сгенерированный менеджером пакетов conda, в «needs.txt» и заменить «=» на «==» для соответствия различнымсинтаксис в pipenv. Кроме того, файл «environment.yml» указывает версию Python, используемую для проекта. Эта строка должна быть удалена, так как версия python определяется командой pipenv --python x.x

Затем я выполнил pipenv -r install requirements.txt

, тем самым избегая копирования всех необходимых пакетов изфайл environment.yml в оболочку.

...