【问题标题】:Distributing a Python Software for Linux为 Linux 分发 Python 软件
【发布时间】:2010-12-21 21:19:37
【问题描述】:

我正在用 Python 为 Ubuntu(或基于 Debian 的 Linux)编写我的第一个软件。我正在寻找关于分发我的软件的最佳方式的好建议。

目前我能想到的最简单的替代方法是将 python 代码归档到 *.tar.gz 中,并让用户将主要的 python 脚本作为可执行文件来运行软件。我意识到这可能不是最好的方法。

我查看了 Debian 维护者指南:“http://www.debian.org/doc/maint-guide/ch-dother.en.html”,听起来不太懒惰,但该指南看起来很吓人初学者。有没有其他教程展示如何为初学者创建一个 debian 包?

如果有人有建议,请告诉我。谢谢^_^

【问题讨论】:

标签: ubuntu python packaging


【解决方案1】:

只需将源代码发送到压缩包中就可以了。你也可以把它放在http://pypi.python.org/pypi。你还怎么想的?有很多方法可以做到这一点。 Jut 分发源可能是最简单的。

【讨论】:

  • 感谢您的回复。我非常习惯于下载将应用程序安装到操作系统的“安装程序”,或者使用 Ubuntu 软件中心安装应用程序。虽然我很乐意分发源代码并写一个简单的读我,但这种方法似乎“非常规”。但我对此很满意 =)
  • 分发 python 应用程序的典型方法是通过 distutils 或 setuptools。这样您就可以使用easy_install 安装它。在我发布的链接中有一些关于如何做到这一点的文档。
【解决方案2】:

Here。这是打包和分发 python 程序的官方的、与分发无关的方式。 用这个,反正你总有一天会学会的。

相反,这是一个廉价而肮脏的黑客:

  1. 创建目录/programname/;
  2. 将整个项目文件夹放在子目录/program/;
  3. 将文件programname.sh 放入您的/programname/ 文件夹中;
  4. 让这个programname.sh 调用你的python 文件。

如果您想继续走非标准道路,您可以:

  1. 要求程序以root身份执行;
  2. 让它在/usr/bin中创建一个名为programname的shell脚本,执行python /path/to/_main_.py

【讨论】:

  • -1 用于让 bash 脚本启动 python 程序。那有什么意义呢?
  • 重点是,为没有经验的用户工作——我认为这也是问题的重点。如:解压缩 .tar.gz 后,用户会看到一个文件(而不是整个源)和一个文件夹;使用程序名称调用文件(与 main.py 不同);在 ubuntu 中单击它后,系统会询问您是否要执行它(而不是在编辑器中打开它)。我认为提问者的担忧是朝这个方向发展的。
  • 什么?你不能仅仅因为它以 .sh 结尾就运行一个不可执行的文件。
  • 编辑了之前的评论,之前没有得到你。还要注意的是,我在建议 hack 之前指出了正确的分发方法 - 这只是一种无害的解决方案,可以将您的程序分发给朋友,而无需向他们解释如何使用它。
  • Ubuntu 将尝试运行 main.py,如果它也是可执行的。就像它不能执行时它会在编辑器中打开 programname.sh 一样。并且分发者完全无法控制此设置。
猜你喜欢
  • 1970-01-01
  • 2015-07-27
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 2011-12-01
  • 2016-10-19
相关资源
最近更新 更多