我在linux上使用什么来使python程序可执行

74 python linux file-permissions

我刚刚安装了一个Linux系统(Kubuntu),并想知道是否有一个程序可以让python程序可执行linux.

Vin*_*ghe 135

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

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

使文件可执行

chmod +x myfile.py
Run Code Online (Sandbox Code Playgroud)

执行

./myfile.py
Run Code Online (Sandbox Code Playgroud)

  • 好,知道了.这是一个shebang系列:http://en.wikipedia.org/wiki/Shebang_(Unix) (15认同)
  • 我糊涂了.当哈希应该使它成为注释行时,"#!/ usr/bin/env python"如何工作?我尝试在没有哈希线的情况下运行脚本,但它没有用.所以很明显这条线是必需的,但如果它是一个注释它是如何工作的? (6认同)
  • @Nav 这就是所谓的 [Shebang](https://en.wikipedia.org/wiki/Shebang_(Unix))。它被注释掉了,因为它不应该被 python 解释。它向操作系统提供信息。更具体地说,它说明应该使用什么程序来执行脚本。 (4认同)
  • @MathManiac如果按照您的意思继续操作,大约15%的用户将无法运行您的应用程序.这将是一个严重的支持负担,更不用说一个充满敌意的用户体验,这将产生大量可恶的"应用程序X糟透了"的帖子.我坚持认为这不是向最终用户分发应用程序的合适方式. (3认同)
  • 如果您要向同事程序员发送脚本,这很好.但这不是将Python程序分发给最终用户的合适方式.如果用户没有安装Python怎么办?如果他们这样做了,但它与你编写程序的版本不同?总的来说,这只适用于很小比例的用户,尤其是在Windows上. (2认同)
  • @PrahladYeri使用#/ usr/bin/env python3 (2认同)

Mih*_*ai8 14

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


Leo*_*epe 9

您可以使用PyInstaller.它会生成一个build dist,因此您可以将其作为单个"二进制"文件执行.

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

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

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

  • 对不起,但似乎问题就在于此!"我想知道是否有一个程序可以让Python的程序可执行." (5认同)

Moh*_*bas 5

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

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

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

完成并保存您的代码后

  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