【问题标题】:Python: compile into an Unix commandline appPython:编译成 Unix 命令行应用程序
【发布时间】:2011-11-25 16:09:19
【问题描述】:

我不确定我是否搜索了错误的术语,但我在这个主题上找不到太多内容。我在 osx 上,我想将命令行 python 脚本编译成一个小的命令行应用程序,我可以把它放到 usr/local/bin 中,这样我就可以从任何地方调用它。有没有直接的方法来做到这一点?

谢谢

【问题讨论】:

  • 这应该很容易,只需将#!/path/to/python(或#!/usr/bin/env python)放在脚本的开头,然后使用chmod(chmod +x path/to/script)使其成为可执行文件,然后您应该能够叫它
  • 您希望能够像my_script 一样执行它,而不是例如。 ./my_script.py?
  • 我问了一个类似的问题stackoverflow.com/questions/7976926/…。您可能希望使该脚本可执行。虽然无法帮助“编译”部分:请告诉我们您的意图。
  • 好吧,我不一定不想编译它,我只是想让它在任何地方都可以访问。-如果它可以通过 my_script 而不是 ./my_script.py 访问,我会更喜欢它.谢谢!

标签: python unix command-line


【解决方案1】:

执行此操作的最简单方法是将文件从 filename.py 重命名为 filename 并将这一行添加到文件顶部。

#!/usr/bin/env python

您可能还需要在文件上设置可执行位,可以在命令行中使用chmod +x 设置。

【讨论】:

    【解决方案2】:

    在 Unix 上,它通常以下列方式工作:

    1. #!/usr/bin/env python 放在.py 脚本的第一行。
    2. 为文件添加执行权限(使用chmod)。
    3. 从命令行执行脚本,例如。通过在同一目录中提供./my_script.py

    你还需要什么?

    【讨论】:

      【解决方案3】:

      Python 脚本已经是一个“命令行应用程序”,您可以放在任何地方。

      只需将脚本的第一行设置为指向 Python 解释器的适当 shebang 例如:

      #! /usr/bin/python
      

      (或 OS X 放置其 Python 解释器的任何位置), 使用可执行属性设置您的脚本,并将其放在您的 bin 文件夹中

      (也不需要以“.py”结尾)

      【讨论】:

        【解决方案4】:

        你可以写

        #!/usr/bin/python 
        

        在脚本的开头 或者 编写 shell 脚本,让你的脚本像

        #!/bin/sh
        python path_to_your_script/your_script.py
        

        【讨论】:

          【解决方案5】:

          正如几乎所有人所说,您可以通过在脚本开头添加以下行来使您的脚本可执行:

          #!/usr/bin/env python
          

          并将其设置为可执行:

          chmod +x script.py
          

          另一种选择是将您的脚本转换为本机可执行文件。 为此,您可以使用Freezepy2exe,具体取决于您的目标平台。

          【讨论】:

            猜你喜欢
            • 2011-09-27
            • 2013-07-09
            • 2010-11-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-08
            • 1970-01-01
            • 2013-01-25
            相关资源
            最近更新 更多