Передача моего приложения вместе с его виртуальной средой - PullRequest
0 голосов
/ 04 января 2019

У меня есть проект на Python, который я собираюсь закончить. Все его зависимости и пакеты предоставляются в моем venv, который находится рядом с моим приложением (как и должно быть). Проект разрабатывался через венв. Как и ожидалось.

Мой вопрос: Если я сдаю свой проект и включаю папку venv, сможет ли пользователь запустить мою программу через предоставленный мною venv? Другими словами, если я скажу им выполнить: path\to\my\venv\python.exe path\to\my\app.py, это просто сработает? Это вещь?

Дополнительный бонусный вопрос: я на Windows. Предполагая, что моя программа не зависит от платформы, сработает ли этот подход, если он работает на Linux? (Сомневаюсь ...)

Спасибо.

1 Ответ

0 голосов
/ 04 января 2019

После комментариев Эндида и Кенни Острома и некоторых исследований я задаю свой вопрос будущим читателям.

Виртуальные среды не предназначены для такого рода задач. Нет гарантии, что venv будет работать должным образом после переноса в другую систему.

Обычно используемый метод, скорее, использует pip для создания «require.txt» вашего проекта через pip freeze > requirements.txt. Затем пользователь создаст свой собственный venv и использует pip install -r requirements.txt для синхронизации своего venv с вашим.

Если вам нужен исполняемый файл, есть некоторые инструменты, такие как PyInstaller, с которыми вы можете ознакомиться.

...