Создайте среду из существующей папки / приложения с помощью pip / conda - PullRequest
0 голосов
/ 27 апреля 2018

При разработке приложения я не использовал среду. Теперь я хочу использовать его и экспортировать все зависимости моего приложения в файл environment.yml / requirements.txt, который впоследствии я смогу использовать для создания образа Docker.

Проблема в том, что если я создаю среду, а затем экспортирую ее с помощью:

conda env export > environment.yml

Я не получаю никаких зависимостей в этом файле. Или если я использую:

pip freeze --local > requirements.txt

Я вижу все системные модули , которые не имеют никакого отношения к моему проекту.

Я бы предположил, что у conda или pip есть что-то, что просто пройдет через все мои файлы в каталоге, в котором я нахожусь, и поместит все импортированные файлы и их зависимости в файл environment.yml / needs.txt.

Я не могу найти команду для этого ..

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете использовать virtualenv , чтобы изолировать среду вашего приложения в пипсах от остальной части вашей системы. Использование:

virtualenv <your_project_path>/venv

Это создаст виртуальную среду вашего приложения. Затем используйте;

source venv/bin/activate

Это изолирует вашу среду пипса. Переустановите все ваши зависимости и запустите pip freeze, вы увидите только зависимости, связанные с проектом.

pip freeze по умолчанию выбирает все установленные модули pip по системе. Если вы используете virtualenv, а затем устанавливаете свои зависимости, ваши пип-модули будут находиться в папке вашего приложения.

редактировать Я бы порекомендовал хорошую IDE на основе ваших комментариев, таких как PyCharm. Вы можете следовать руководству здесь для настройки venv и обработки всех ваших зависимостей. После этого вы можете запустить pip freeze для ваших требований.txt

...