【问题标题】:How to make a python script become a unix command?如何使 python 脚本成为 unix 命令?
【发布时间】:2013-09-23 07:18:47
【问题描述】:

如何使 python 脚本成为支持 unix 的命令?

假设我有一个 python 脚本:

print "hello foo bar"

我想像普通的 linux 命令一样调用 python 脚本,人们可以这样做:

deb www.myfoobar.com foobar
deb-src www.myfoobar.com foobar
sudo apt-get install foobar

然后在安装后,有人可以从终端调用:

$ foobar
hello foo bar

【问题讨论】:

  • 步骤很多。你问如何创建一个deb?如何在您的网站上托管 deb?如何将脚本存储在文件中?
  • 您所要做的就是将脚本放在系统级别的可搜索路径并将其模式更改为可执行。
  • @falsetru 回答了如何将脚本存储到命令中。如何创建和托管 deb?
  • 你没有。请改用Launchpad
  • 有很多在线资源来解释如何创建自己的deb 文件和存储库。一个快速的谷歌搜索出现,例如,community.linuxmint.com/tutorial/view/162impermium.com/blog/hosting-deb-packages-locally,以及许多其他选项。

标签: python linux unix debian


【解决方案1】:

将以下 shebang 行放在脚本的顶部。

#!/usr/bin/env python

使用以下命令使脚本可执行:

chmod +x foobar

将脚本移动到 $PATH 中的某个位置(例如:/usr/local/bin)

mv foobar /usr/local/bin

来自 Rob: 对于创建和托管 deb 问题,您可以使用外部服务,例如 https://launchpad.net/ubuntu

【讨论】:

  • 这里没有说明如何运行sudo apt-get install
【解决方案2】:

这是creating an Ubuntu package and submitting it for consideration 的完整演练。 Debian 有它自己的程序。当然,如果你只是想将 Python 脚本制作成 Unix 命令,那么你可能也只想使用 setuptools 将其打包,提交给 PyPi 并让人们pip install <package>

【讨论】:

    【解决方案3】:

    如果您不想分发您的脚本以便下载它,您必须创建一个(Linux 上的.rpm)。

    【讨论】:

    • Redhat 和类似发行版上的原生包格式为 .rpm。在 Debian、Ubuntu 和由此衍生的发行版上是 .deb
    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 2021-09-22
    • 2014-03-29
    • 2011-04-17
    • 1970-01-01
    • 2013-06-09
    • 2013-11-08
    相关资源
    最近更新 更多