python - 创建跨平台自包含 python 环境?

标签 python cross-platform virtual-environment

我想开发一些Python3.6的软件。问题是该软件将在数百个独特配置的构建环境中运行,这些环境可能安装也可能没有安装 python,并且无法访问互联网或 pypi。该机器是 Windows 和 Suse 的混合体。重要的是不要弄乱构建环境,因此我想将我的软件打包到一个具有所有依赖项的独立 python 环境中。

我发现很难找到符合我的标准的解决方案。

我遇到过 python 虚拟环境,但它们没有解释器,并且并不是真正打算复制的。

stackoverflow上的另一个人推荐PEX,这个看起来很完美,但似乎与Windows不兼容。

我还考虑过使用 Cython 将软件制作为静态链接的二进制文件。但据我所知,这仍然需要安装正确的 python,并且必须使用纯 Python。

最佳答案

https://pyoxidizer.readthedocs.io/en/latest/comparisons.html对该领域的各种解决方案进行了比较。看起来,如果您需要一个不需要预先配置目标系统的跨平台解决方案(例如预安装特定版本的 python),您的选择是 PyInstaller、PyOxidizer 和 Docker。

PyInstaller 更加成熟,而 PyOxidizer 声称启动速度更快。

如果您有复杂的依赖关系,我希望 Docker 的问题最少。它必须预安装在目标系统上,但构建环境可能已经安装了它。显然它会带来更多的开销。

关于python - 创建跨平台自包含 python 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57451076/

相关文章:

python - Pywikibot 安装

python - Spacy训练多线程CPU使用率

javascript - 使用 HTML5 和 C++ 的移动开发工具

Python3.7 venv 不创建虚拟环境目录

Python:将输出保存到 csv 文件时出错?

python - 从 pandas 的已知索引中获取行数据

unicode - C/C++ 跨平台Unicode编码

c++ - C++中枚举环境变量(跨平台)

python - 使用 IDEA 的 Python SDK 中配置的 Virtualenv 环境

julia - 我可以使用 conda 和 How 创建 julia 1.4.2 的虚拟环境吗