【问题标题】:A Real Talk About Python Software Distribution [closed]关于 Python 软件分发的真实谈话 [关闭]
【发布时间】:2020-06-30 17:01:46
【问题描述】:

我知道这是一个热门话题,很多人问这个问题,但我觉得我错过了一些东西。为最终用户制作 python 应用程序的正确方法是什么?比如,老式的离线 .exe 等等。许多用户不会接触终端/外壳,老实说,如今大多数软件都非常容易安装。到目前为止我所知道的:

有一些软件包可以让您的软件准备好重新分发,例如

pyinstaller, cx_freeze, py2exe

我在大约 2 周内编写了相当复杂的软件,并且为使 pyinstaller 与我的外部软件包一起工作而疯狂了好几天。这种疼痛正常吗?我是否因依赖解释语言而犯了错误?因为编译这些东西是卑鄙的事情。在许多其他语言中,您只需在 IDE 中构建内容,然后就可以构建了。

我不担心我的代码可能会被反编译,所以我尝试创建一个带有命令的 .bat 文件,以使用我的虚拟环境(!)python 执行我的脚本。我可以设法让 Python venv 与我的脚本一起到位,而无需用户自己安装吗?

或者“通常”的方法是什么?使用赛通?还是pyinstaller?向代码之王祈祷?

仅供参考:我使用的是 Python 3.6.8、Windows 8(你敢拿我开玩笑吗:D)和 Pycharm 2019.2

不过,提前感谢您的时间,问候, 阿姜

【问题讨论】:

  • 欢迎来到 Stack Overflow。请使用tour 并阅读help center 中的主题内容。这 (a) 过于宽泛,并且 (b) 主要基于意见。

标签: python installation pyinstaller software-distribution


【解决方案1】:

对于如何为您的 Python 项目创建可执行文件,没有正确或成熟的方法。它是基于意见的。

您希望如何分发您的软件完全取决于您自己。可以是源代码,编译成docker镜像,通过HerokuOne-Click deployment,debian包,以上所有,???.
有选择很好。有些人需要一个非常简单的解决方案,那么 Heroku 或 exe 文件就很好。有些人是 Docker 高级用户,那么多架构 docker 镜像就不错了。有些人想要修改源代码比拥有源代码更好。有些人喜欢 debian 软件包,并希望您的项目具有自动启用和启动的 systemd 服务文件。

您可能还没有投入到让 docker/debian/heroku 工作的工作中,而只是告诉他们如何让它运行的分步指南。
由于 Linux 发行版更新到较新版本,Debian 和 Heroku 路由可能需要一些定期维护。

它有很多东西,这是一个无休止的讨论,没有人对或错。

【讨论】:

  • 我明白了,我主要从事与音频相关的项目,因为我是一名全职音频和事件工程师。但是,我的大多数最终用户几乎无法安装比在 mac 上拖放或运行安装程序更复杂的东西,所以我怎样才能使它对用户更友好,因为 99% 的人不想安装任何额外的软件或运行代码或触摸命令行。 :)
猜你喜欢
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多