百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

使用PyInstaller创建Python可执行文件

off999 2024-10-09 13:53 29 浏览 0 评论

您已经花费时间创建了一个 Python 应用程序,您希望使用它或将其分发。

译自 How to Create a Python Executable File With PyInstaller,作者 Jack Wallen。

您已经花费时间创建了一个 Python 应用程序,您希望使用它或将其分发给可以从其强大功能中受益的人。您可能认为唯一的方法是将代码发送给他们,确保他们在机器上安装了 Python(以及代码所需的任何依赖项),并指示他们使用命令 python3 appname.py 运行代码。

当然,这可以工作,但并不高效。如果您与可能不太了解 Python 的人共享应用程序,这可能会很麻烦。或者,即使他们了解 Python,您肯定也不希望将代码发送给他们并期望他们从命令行运行它。

相反,为什么不从您的 Python 代码 创建一个可执行文件,这样用户只需双击它即可运行应用程序,或者将文件复制到其 $PATH 中的目录并从文件系统层次结构中的任何位置运行命令。

这就是我今天要向您展示如何做的事情。我们将使用我们之前创建的 Python 应用程序的代码(用于获取用户的输入并使用 GUI 将其写入文件)并从中创建一个方便的可执行文件。

这是一种从 Python 代码创建便携式应用程序的好方法。目标机器唯一的要求是安装 Python(这是一个相当容易克服的障碍)。

好的,让我们开始吧。

您需要什么

要使此方法有效,您需要一台安装了 Python 的机器以及我们上次创建的示例代码。我会在这里添加代码,这样您就不必搜索它。我将在 Ubuntu 22.04 上演示此方法,但该过程适用于任何 Linux 发行版(或任何支持 Python 的操作系统)。如果您使用的是其他发行版或操作系统,则需要相应地调整 Pip 安装过程。

安装 Pip

要安装 PyInstaller,您必须首先确保安装了 Pip(Python 包管理器)。您可以使用以下命令检查 Pip 是否已安装:

如果您在控制台中看到版本号,则说明您已准备好。如果您收到错误,则需要安装 Pip,这可以通过以下命令完成:

sudo apt-get install python3-pip -y

当上述命令完成后,您就可以继续了。

接下来,我们需要安装 PyInstaller,它会读取您的 Python 代码,发现您的应用程序运行所需的每个模块和库,收集所有必要的东西(包括 Python 解释器),并将它们与您的代码组合成一个单独的文件夹或一个单独的可执行文件。

要安装 PyInstaller,请执行以下命令:

就是这样。您已准备好。

将所有内容捆绑在一起

我将首先向您展示如何使用 PyInstaller 为您的应用程序创建捆绑包。所有这些都将包含在一个文件夹中,其中包含一个可执行文件和一个包含依赖项的文件夹。

请记住,我们用于输入 GUI 的代码如下所示:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout

class UserInputApp(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle('User Input App')
        self.setGeometry(100, 100, 400, 200)
        self.label = QLabel('Enter text:')
        self.text_input = QLineEdit()
        self.save_button = QPushButton('Save to File')
        self.save_button.clicked.connect(self.save_to_file)
        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.text_input)
        layout.addWidget(self.save_button)
        self.setLayout(layout)

    def save_to_file(self):
        text = self.text_input.text()
        with open('user_input.txt', 'a+') as file:
            file.write(text + '\n')
        print('Text saved to file.')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = UserInputApp()
    window.show()
    sys.exit(app.exec_())

让我们使用以下命令创建一个新目录:

使用以下命令更改到该目录:

使用以下命令创建 Python 文件:

将上面的代码粘贴到该文件中,然后保存/关闭它。然后,您可以使用以下命令创建捆绑文件夹:

当命令完成后,使用以下命令更改到 dist 目录:

在这个文件夹中,你会找到一个名为 input 的子文件夹,其中包含可执行文件,以及一个名为 _internal 的文件夹。使用 cd input 命令进入 input 文件夹,然后你可以使用以下命令运行你的应用程序:

./input

输入 GUI 将会打开,你可以使用该应用程序。

如果你想以这种方式分发应用程序,你需要将 INPUT_APP/dist/input 文件夹复制给任何需要它的人,他们就可以像你一样运行它(只要他们的机器上安装了 Python)。

有一个更简单的方法。

创建单个文件可执行文件

最好的方法是使用 PyInstaller 创建单个文件可执行文件。这里唯一的区别是你在(INPUT_APP 文件夹内)运行的命令,它是:

pyinstaller –noconsole –onefile input.py

–noconsole 选项指示 PyInstaller 抑制应用程序启动时不可避免地打开的终端窗口,而 –onefile 则告诉 PyInstaller 创建单个文件可执行文件。

当此命令完成时,你将在 dist/input 目录中找到单个文件可执行文件。然后,你可以将该文件复制到你的 $PATH 中的目录(例如 /usr/local/bin)或复制给任何需要该应用程序的人。

这就是从 Python 代码创建可执行文件的所有步骤。使用这种便捷的方法,你的应用程序不仅更容易运行,而且更容易分发给其他用户。

相关推荐

笔记本无音频输出设备(笔记本无音频输出设备)

1、没有声卡驱动,解决方法就是找到笔记本的官网,下载电脑声卡的驱动安装即可。2、没有外界的音频播放设备,解决方法就是买一个外界的音频播放设备插到电脑主机的音频接口上即可。笔记本电脑显示未安装任何音频输...

iso文件能用手机打开吗(iso文件能用手机打开吗安全吗)

一般的压缩软件就可以打开的,比如,好压软件,这个打开只是解压形式的,如果你说的是运行iso文件,这个没有,况且安卓系统也不支持iso运行ISO文件一般用于光盘镜像文件的存储,如果想要在手机上运行ISO...

win7系统卡顿怎么优化(win7很慢很卡怎么优化)

1、首先打开安全卫士,进入安全卫士首页,单击软件窗口右下角的“更多”图标,打开扩展应用程序。2、单击选择“我的工具”。3、在我的工具菜单里面找到“人工服务”单击打开人工服务。4、在人工服务对话框有很多...

如何查看c盘微信聊天记录(如何查看c盘微信聊天记录内存大小)

微信群中的消息只要没删除基本都能保存,想要找微信群中几个多月前的消息可以直接根据日期来查找聊天记录。操作如下:1、打开想要查找记录的微信群,点击右上角人形图标;2、点击查找聊天内容;3、选择按日...

office2016家庭版激活密钥(office家庭版激活码2019)

走淘宝吧,因为零售版的密钥只能用一次。大概几块钱就能激活2016。如果你不在乎钱的话可以向我一样,订阅一个office365.实在不行可以和几个人一起买一个家庭版的365.出现这个情况,找微软申诉是没...

移动硬盘驱动器下载安装(移动硬盘驱动器下载安装教程)

1、右键单击您的桌面,选择“新建文件夹”,并命名该文件夹(例如“usb驱动程序”);2、然后到本站下载驱动程序;3、将其解压缩至在您的桌面上刚刚创建的usb驱动程序文件夹;4、单击开始菜单,然后选择设...

电脑硬盘格式化工具(电脑 格式化硬盘)

硬盘格式化工具很多,PQMACGIG8.0(中文就叫硬盘分区魔法师)是比较好的一个,这个是在WINDOWS下比叫好用,(个人感觉)FDISK也是比较好的一个,这个一般用在DOS下分区格式化WIN...

photoshop是一款什么软件(ps指的是什么软件)

这个说法是错误的,ps软件“即:photoshop”是由美国著名的“adobe阿多比”公司出品的专业的图像处理软件,它不是由微软公司出品的软件。众所周知的是,微软公司以设计视窗操作系统名满全球,它出...

ipad越狱的好处与坏处(ipad越狱好不好)

  好处一:  1、重命名、重组应用程序  如果你看着Sparrow(iOS最优秀邮件客户端)这个名字不爽,越狱之后就可以改成“Email”,如果你觉得“豆瓣电台”这个名字不给力,那就改成“中央人民广...

win7光盘重装系统步骤图解(win7光盘如何重装系统)

1.确认您的电脑支持从光盘启动。如果支持,可以直接将Windows7安装光盘插入电脑的光驱中。 2.打开电脑,按下F2、F10、F12或Delete等键进入BIOS设置界面。 ...

电脑已联网却无法上网(电脑已经联网了但是不能上网)

电脑连上网后,仍可能存在无法上网的情况,这可能是由多种原因造成的。以下是一些可能的原因和解决方法:1.浏览器问题:有时候,浏览器可能会出现故障,导致无法正常访问网络。您可以尝试清除浏览器的缓存和co...

u盘价格一览表(u盘单价)

不同品牌价格不同,不同内存价格也不同,例如8g、16g、32g、64g等多种容量大小的,根据容量的不同,报价在29元到120元之间不等。闪存盘虽然小,但相对来说却有很大的存储容量。U盘大多能够存储比一...

windows查看ip命令(windows如何查看ip地址)

查看电脑IP:    1)使用Windows+R键打开“运行”窗口,然后输入CMD进入命令提示窗口2)进入命令窗口之后,输入:ipconfig/all回车即可...

内存条的作用(内存条的作用和参数配置)

内存条是存储电脑运行所需的数据和程序,帮助CPU快速读取和运行,提高计算机的运行速度和处理能力。内存条也被称为随机存取存储器(RAM),是电脑中非常必要的一个组件。常见的内存条类型有DDR、DDR2、...

autocad2012安装失败(autocad2012无法安装)

如果您遇到CAD2012安装不了的问题,可能有几个原因导致这种情况。以下是一些常见的解决方法:1.确保系统要求:首先,请确保您的计算机符合CAD2012的系统要求。检查您的操作系统版本、内存、处理器...

取消回复欢迎 发表评论: