【问题标题】:What do I use on linux to make a python program executable我在linux上使用什么来使python程序可执行
【发布时间】:2010-09-23 05:21:51
【问题描述】:

我刚刚安装了一个 linux 系统(Kubuntu),想知道是否有一个程序可以使 python 程序在 linux 上可执行。

【问题讨论】:

标签: python linux file-permissions


【解决方案1】:

只需将其放在脚本的第一行即可:

#!/usr/bin/env python

使文件可执行

chmod +x myfile.py

执行

./myfile.py

【讨论】:

  • 我很困惑。当哈希应该使其成为注释行时,“#!/usr/bin/env python”如何工作?我尝试在没有哈希线的情况下运行脚本,但它不起作用。很明显,该行是必需的,但如果是注释,它如何工作?
  • 如果您将脚本发送给其他程序员,这很好。但这不是将 Python 程序分发给最终用户的合适方式。如果用户没有安装 Python 怎么办?如果他们这样做了,但它与您编写程序的版本不同怎么办?总的来说,这只适用于一小部分用户,尤其是在 Windows 上。
  • @MathManiac 如果您按照您的暗示继续,大约 15% 的用户将无法运行您的应用程序。这将是一个沉重的支持负担,更不用说极其敌对的用户体验,这将产生大量可恶的“应用程序 X 烂”帖子。我坚持我的说法,这不是向最终用户分发应用程序的合适方式。
  • @PrahladYeri 使用 #/usr/bin/env python3
  • @Nav 这叫做Shebang。它被注释掉是因为它不应该被 python 解释。它向操作系统提供信息。更具体地说,它说明了应该使用什么程序来执行脚本。
【解决方案2】:

如果您想在 Python 中获取独立的二进制应用程序,请尝试使用 py2exe 或 PyInstaller 等工具。

【讨论】:

  • 关键字:独立
  • 我可以反编译 PyInstaller 的输出吗?
【解决方案3】:

您可以使用 PyInstaller。它会生成一个构建 dist,因此您可以将其作为单个“二进制”文件执行。

http://pythonhosted.org/PyInstaller/#using-pyinstaller

Python 3 还具有创建构建分布的本机选项:

https://docs.python.org/3/distutils/builtdist.html

【讨论】:

  • 问题不在于制作 python 脚本 exe/elf 文件
  • 对不起,问题似乎就是这样! “想知道是否有一个程序可以使 python 程序在 linux 上可执行。”
  • 非常感谢,@LeoPepe,我刚刚为我的班级创建了一个出勤记录器,它从文件中获取输入(在场学生的姓名)并在输出文件中提供出勤率,只需单击在 pyinstaller 的帮助下制作的可运行脚本。
【解决方案4】:

将这些行放在代码的开头将告诉您的操作系统查找执行 python 脚本所需的二进制程序,即它是 python 解释器。

所以它取决于你的操作系统,它保存了 python 解释器。由于我有 Ubuntu 作为操作系统,它将 python 解释器保存在 /usr/bin/python 中,所以我必须在我的 python 脚本的开头写下这一行;

#!/usr/bin/python

完成并保存代码后

  1. 启动你的命令终端

  2. 确保脚本位于您当前的工作目录中

  3. 输入chmod +x script_name.py

  4. 现在您可以通过单击脚本来启动脚本。将出现一个警告框;在警告框中按“运行”或“在终端中运行”;或者,在终端提示符下,输入./script_name.py

【讨论】:

    【解决方案5】:

    如果想把hello.py做成可执行文件

    首先找到python在你的操作系统中的路径:which python

    它通常位于“/usr/bin/python”文件夹下。

    hello.py 的第一行应添加:#!/usr/bin/python

    然后通过linux命令chmod

    应该让它像这样可执行:chmod +x hello.py

    并使用./hello.py 执行

    【讨论】:

      【解决方案6】:

      我执行以下操作:

      1. 输入#! /usr/bin/env python3 在脚本顶部
      2. chmod u+x file.py
      3. 在文件名中将 .py 更改为 .command

      这实际上将文件转换为 bash 可执行文件。当你双击它时,它应该运行。这适用于基于 Unix 的系统。

      【讨论】:

        【解决方案7】:

        另一种方法是创建别名。 例如在终端写:

        alias printhello='python /home/hello_world.py'
        

        编写printhello 将运行hello_world.py,但这只是暂时的。 要使别名永久化,您必须将它们添加到 bashrc,您可以通过在终端中编写它来编辑它:

        gedit ~/.bashrc
        

        【讨论】:

          【解决方案8】:

          执行以下步骤:

          1. 将此作为第一行添加到执行入口点 python 文件中
          #!/usr/bin/python
          
          1. 将脚本修改为可执行文件
              chmod +x <script-name>.py
          
          1. /usr/local/bin 创建指向您的&lt;script-name&gt;.py 的符号链接
          ln -s /usr/local/bin/<executable-name-you-want> <path-to-your-script>
          

          无论您是否有单个独立的 Python 脚本或是否有多个由主文件调用的依赖脚本,这些步骤都有效。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-08
            • 1970-01-01
            • 1970-01-01
            • 2011-05-05
            • 2021-03-17
            • 2020-01-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多