在 Linux 上我该如何让 Python 程序可执行?[重复]

2024-10-22 08:29:00
admin
原创
272
摘要:问题描述:我刚刚安装了 Linux 系统(Kubuntu),想知道是否有一个程序可以让 Python 程序在 Linux 上执行。解决方案 1:只需将其放在脚本的第一行:#!/usr/bin/env python 使用以下命令使文件可执行chmod +x myfile.py 执行./myfile.py 解决方...

问题描述:

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


解决方案 1:

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

#!/usr/bin/env python

使用以下命令使文件可执行

chmod +x myfile.py

执行

./myfile.py

解决方案 2:

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

解决方案 3:

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

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

Python 3 也有创建构建分布的原生选项:

https://docs.python.org/3.10/library/distutils.html

解决方案 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 文件.py

  3. 将文件名中的 .py 更改为 .command

这实际上将文件转换为 bash 可执行文件。双击它时,它应该会运行。这在基于 Unix 的系统中有效。

解决方案 7:

执行以下步骤:

  1. 将其作为第一行添加到执行入口点 python 文件中

#!/usr/bin/python
  1. 修改脚本为可执行文件

    chmod +x <script-name>.py
  1. <script-name>.py创建指向你的源的符号链接/usr/local/bin

ln -s <path-to-your-script> /usr/local/bin/<executable-name-you-want>

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

解决方案 8:

因为我觉得有点模棱两可,至于你用“程序”到底指的是什么,我在这里给出一个答案,如何在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 = awesome@program.earth

[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,然后您可以在其中启动“真实”程序。即,__init__.py至少将以下代码放入您的文件中以查看效果:

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

4.) 使用例如安装python setup.py install

5.) 使用命令行执行awesome,例如$> awesome

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

解决方案 9:

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

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

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

gedit ~/.bashrc

解决方案 10:

除了上面 leo pepes 针对初学者的回答之外 - 我只使用了 auto-py-to-exe 并在 Ubuntu 22.04/Python 3.10/VSC 中按照以下步骤操作:(auto-py-to-exe 是一个使用上面提到的 pyinstaller 的 web-gui)

pip3 安装 auto-py-to-exe

使用命令启动它:auto-py-to-exe

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

点击“转换为 exe”

稍后您可以:选择其他文件,仅在一个文件中转换(无文件夹),将您的配置导出到 json 文件(设置),并通过 GUI 进行更多操作

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用