如何打包/分发python应用程序

2024-05-04 21:01:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我花了无数个小时试图理解这一点,但不幸的是,我还没有得到答案。或者至少我觉得我没有。 首先,我应该说我是一名Java开发人员。我最近才开始使用Python,构建过程对我来说有点…奇怪。在

在我的脑海中,我编写了一个应用程序,编译后运行,然后打包成一个.jar供其他人使用。无论是作为一个库,还是供最终用户执行并从中获得乐趣。(忽略像maven或gradle之类的东西…)

我用python编写了一个由~6个文件组成的CLT,我想分发它。据我所知我应该写一篇设置.py我找到了一些关于如何做到这一点的指南,但是。。。老实说,我甚至不知道那是怎么回事。我可以把我的源代码绑定到焦油gz或者它会产生一些奇怪的文件,我不知道该怎么处理。在

然后我找到了PyInstaller,把所有东西打包成一个二进制文件非常有效。然而,我在尝试创建Debian包时遇到了一些问题,这让我重新评估并质疑Python中似乎没有什么东西(不需要使用外部工具)可以将我的应用程序打包/捆绑到一个单独的文件中运行。在

这是我无法理解的事情。我的意思是…在PyInstaller和P2Exe之类的工具出现之前,人们是如何分发他们的应用程序的?我是否应该编写一个C应用程序,以某种方式包含python代码并编译它?抱歉,如果这看起来是一个愚蠢的问题,但我真的在问。我在谷歌上搜了这么多,花了这么多时间,但还没有找到满意的答案,所以我希望这里有人能帮我解决这个问题!谢谢。在


Tags: 文件工具答案py应用程序开发人员过程指南
1条回答
网友
1楼 · 发布于 2024-05-04 21:01:50

如果为pip打包Python代码,则可以包含一些启动程序的可执行脚本。我不知道5年前有人问这个问题时情况如何,但现在pip几乎与Python集成,以至于有一个标准的库模块来引导pip,以防丢失: https://docs.python.org/3/library/ensurepip.html

如果您想为其他包管理器(如Anaconda或各种Linux发行版的包管理器)打包应用程序,或者将其作为Windows安装程序,那么情况就不同了。显然,您必须为您想要支持的每个包管理器或安装技术创建一个单独的包。在

相关问题 更多 >