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

问题描述 投票:0回答:10

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

python linux file-permissions
10个回答
191
投票

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

#!/usr/bin/env python

使文件可执行

chmod +x myfile.py

执行

./myfile.py

24
投票

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


20
投票

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

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

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

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


5
投票

将这些行放在代码的开头将告诉您的操作系统查找执行 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

执行

3
投票

我执行以下操作:

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

这实际上将文件变成了 bash 可执行文件。当您双击它时,它应该运行。这适用于基于 Unix 的系统。


1
投票

执行以下步骤:

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

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


1
投票

因为我发现它有点含糊,至于你到底用“程序”指的是什么,我在这里给出一个答案,如何从Linux中的命令行制作一个“包”程序可执行文件,如下之前这个问题没有回答过这个问题。

本质上你必须遵循官方说明,但本质上,你必须执行以下步骤:

1.) 将您的程序重构为此处所示的结构(您基本上可以在两种结构之间进行选择)

2.) 假设您选择了“平面布局”并且您的项目名称为

awesome
(即假设您的源文件位于
program/awesome
),您将创建两个文件,
setup.py
setup.cfg
文件,位于您的程序级别(即
program
),内容如下:

setup.py

from setuptools import setup
setup()

setup.cfg

[metadata]
name = awesome
version = 0.0.1
description = My awesome program is 'awesomer' than yours
author =Awesome Name
email = [email protected]

[options]
packages = find:
install_requires = 
    <YOUR-REQUIREMENTS-HERE-DELETE-IF-NONE>

[options.entry_points]
console_scripts =
    awesome = awesome:main

3.) 在您的

program/awesome
文件夹中,您创建一个带有
__init__.py
函数的
main
文件,然后您可以在其中启动“真实”程序。 IE。至少将以下代码放入您的
__init__.py
文件中以查看效果:

def main():
    print("MY AWESOME PROGRAM WORKS!")

4.) 使用例如安装它

python setup.py install

5.) 使用

awesome
从命令行执行它,例如
$> awesome

希望这对任何人都有帮助 - Thinklex


0
投票

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

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

写入

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

gedit ~/.bashrc

0
投票

作为上面针对初学者的 leo pepes 答案的补充 - 我只是使用 auto-py-to-exe 并在 Ubuntu 22.04/Python 3.10/VSC 中遵循以下步骤: (auto-py-to-exe是一个使用上面提到的pyinstaller的网络GUI)

pip3 安装 auto-py-to-exe

使用以下命令启动它: 自动 py 到 exe

在“脚本文件位置”下选择您的 .py 文件

点击“转换为exe”

稍后您可以: 选择附加文件 仅转换一个文件(不包含文件夹) 将您的配置导出到 json 文件(设置) 以及更多关于 GUI 的内容

© www.soinside.com 2019 - 2024. All rights reserved.