提交我的应用程序及其虚拟环境
Handing in my application, along with its virtual environment
我有一个 python 项目即将完成。
它的所有依赖项和包都在我的 venv 中提供,它位于我的应用程序旁边(应该如此)。该项目是通过 venv 开发的。不出所料。
我的问题是:
如果我提交我的项目并包含 venv 文件夹,用户是否可以通过我提供的 venv 运行 我的程序?
换句话说,如果我指示他们执行:path\to\my\venv\python.exe path\to\my\app.py
,它会起作用吗?
这是一件事吗?
可选的奖励问题:我在 Windows。假设我的程序是独立于平台的,如果它们在 linux 上,这种方法是否有效? (我怀疑...)
谢谢。
在 Endyd 和 Kenny Ostrom 的评论以及一些研究之后,我要为未来的读者回答我自己的问题。
虚拟环境不是为这类任务设计的。不能保证 venv 在转移到另一个系统后会正常工作。
常用的方法是使用 pip 通过 pip freeze > requirements.txt
创建项目的 "requirements.txt"。
然后用户将创建自己的 venv,并使用 pip install -r requirements.txt
将他们的 venv 与您的同步。
如果您想要的是可执行文件,您可以查看某些工具,例如 PyInstaller。
我有一个 python 项目即将完成。 它的所有依赖项和包都在我的 venv 中提供,它位于我的应用程序旁边(应该如此)。该项目是通过 venv 开发的。不出所料。
我的问题是:
如果我提交我的项目并包含 venv 文件夹,用户是否可以通过我提供的 venv 运行 我的程序?
换句话说,如果我指示他们执行:path\to\my\venv\python.exe path\to\my\app.py
,它会起作用吗?
这是一件事吗?
可选的奖励问题:我在 Windows。假设我的程序是独立于平台的,如果它们在 linux 上,这种方法是否有效? (我怀疑...)
谢谢。
在 Endyd 和 Kenny Ostrom 的评论以及一些研究之后,我要为未来的读者回答我自己的问题。
虚拟环境不是为这类任务设计的。不能保证 venv 在转移到另一个系统后会正常工作。
常用的方法是使用 pip 通过 pip freeze > requirements.txt
创建项目的 "requirements.txt"。
然后用户将创建自己的 venv,并使用 pip install -r requirements.txt
将他们的 venv 与您的同步。
如果您想要的是可执行文件,您可以查看某些工具,例如 PyInstaller。