是否可以构建一个独立的Python虚拟环境?自包含,我的意思是执行程序所需的所有文件都在那里,包括 Python。
我正在使用 Poetry 来管理
venv
s。查看我使用 venv
创建的 poetry install
s 我发现依赖项实际上已被复制,但 Python 是 simblinked.
例如:
>> ls -lah my-venv/bin/
python -> /Users/my-user/.pyenv/versions/3.11.2/bin/python
此外,我尝试了
virtualenvs.options.always-copy
Poetry配置,翻译成--always-copy
virtualvenv配置,但它没有复制Python。
由于预期的答案是“使用容器”,我提前说这不是给定用例的选项。
本题旨在解决一个“all-in”的目录/文件可以上传到Linux服务器并运行而不依赖于任何系统安装的软件。
如果您想要不需要预装 Python 解释器的东西,那么:PyInstaller 如前所述,公文包 也可能有用,或者类似 Nuitka 的东西,请参阅这部分文档“Bringing your own Python executable” as well.
我认为您可以使用像 PyInstaller 这样的工具。来自文档:
PyInstaller 将 Python 应用程序及其所有依赖项捆绑到一个包中。用户无需安装 Python 解释器或任何模块即可运行打包的应用程序。
只需从 Jetbrains 下载合适的 python IDE,例如 Pycharm,然后选择 venv 作为项目结构。它会自动为你做一切。示例文件夹结构:
folder
-main.py
-venv
-lib //contains all of the libraries and the python instance
-...