gpt4 book ai didi

python - 在 Mac 上生成等效的 python "jar"以在 Windows 上运行

转载 作者:行者123 更新时间:2023-12-01 08:29:11 25 4
gpt4 key购买 nike

我是 Python 新手。如果我想打包一个 Java 程序,我可以使用 Maven 定义依赖项并构建一个 Jar,其中包括 Mac 上所需的所有库,也可以使用 Windows cmd 控制台运行,只需要在该 Windows 计算机上安装 java 即 java -myProgram.jar

我想知道如何使用使用一些第三方库的 Python 程序实现相同的效果。我搜索了一些选项,例如轮子,但仍然对它们的作用感到困惑。您能帮我提供更多这方面的指导吗?我使用 PyCharm 作为 IDE。非常感谢。

最佳答案

对于最接近的 .jar 等效项,您需要一个 Python ZIP 应用程序。这仅需要在用户计算机上安装合适版本的 Python。 https://docs.python.org/3/library/zipapp.html#creating-standalone-applications-with-zipapp

基本上,您可以使用 pip(Python 的包管理器)将列出的依赖项安装到要压缩的目录中。

$ python -m pip install foopackage barpackage>=1.0 --target source
$ python -m zipapp source -m "source.foomodule:main" # use -c to compress

其中 source 是包含程序的源目录的名称,main 是入口点的名称(在 foomodule 中)。这将创建一个 .pyz 文件,它相当于 Python 中的 .jar。

然后您可以在 Windows 计算机上运行它

> py source.pyz

其中 py 是您的 python 启动器或您已安装的任何适当的 python 可执行文件。

如果您有 requirements.txt,您可以在压缩之前从中获取 pip install 依赖项。

$ python -m pip install -r requirements.txt --target source

(如果不这样做,您可以尝试从 pip freeze 的输出中生成一个,但这就是您已安装的所有内容,可能太多了。)

<小时/>

当然,这一切都假设您的依赖项是纯 Python。如果您有一些包含适用于 macOS 的已编译二进制文件的软件包,则它无法在 Windows 上运行。事实上,C 扩展通常无法从 zip 存档内部执行,即使您在 Windows 上编译它们也是如此。

如果您确实需要这样的二进制文件,我建议尝试使用第三方工具,例如 pex .

关于python - 在 Mac 上生成等效的 python "jar"以在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54001240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com