封装Python代码:如何在未安装Python的情况下运行Python脚本 您所在的位置:网站首页 python怎么让别人运行 封装Python代码:如何在未安装Python的情况下运行Python脚本

封装Python代码:如何在未安装Python的情况下运行Python脚本

2023-10-15 06:20| 来源: 网络整理| 查看: 265

标签:Python,Pyinstaller

你知道吗?你可以封装你的python代码,并提供给其他人去运行,即便他们没有安装python。可以像计算机(Windows、Mac或Linux)上的任何程序/应用程序一样运行脚本,无需Python,无需安装库。

在某些时候,可能希望将你的Python脚本提供给其他人在他们的机器上运行。然而,一个常见的问题是,不是每个人都知道Python或者安装了Python。封装是指通过将Python解释器、代码及其所有依赖项捆绑在一起来创建单个可执行文件的过程。最终的结果是,其他人可以在不安装Python解释器或任何模块的情况下运行该文件。

使用Pyinstaller封装Python代码

Pyinstaller是一个Python库,可以为你封装Python脚本,并且非常易于使用。根据官方描述:

PyInstaller读取你编写的Python脚本,分析你的代码,以发现脚本执行所需的所有其他模块和库。然后,它收集所有这些文件的副本,包括活动的Python解释器并将它们与脚本一起放在单个文件夹中,或者选择地放在单个可执行文件中。

通过pip安装PyInstaller:

pip install pyinstaller

先给出一段Python代码,这段代码在其他文章中有详细讲解(参见:使用Python pandas Groupby函数汇总数据,获得对数据更好地理解),这里集中于pyinstaller。注:代码中的示例文件cc_statement.csv可在知识星球完美Excel社群下载。

import pandas as pd df = pd.read_csv(r'D:\cc_statement.csv',parse_dates=['Transaction Date']) df['Transaction Date'] =pd.to_datetime(df['Transaction Date']) df['Day'] = df['TransactionDate'].dt.day_name() df['Month'] = df['TransactionDate'].dt.month spend_category = df.groupby('Category').agg(Total_spend=('Debit','sum'),Avg_spend=('Debit','mean')) spend_category.to_excel(r'D:\spend_by_category.xlsx')

我们主要尝试分析我们的信用卡账单,并生成一个汇总表,列出每个类别的总支出和平均支出。数据来源是一个模拟的信用卡对账单,在2020年有533笔交易。输出是一个只有14行2列的数据框架。

现在,我们准备封装我们的代码。

在命令提示窗口中,键入pyinstaller freeze_eg.py。”freeze_eg.py”是你要封装的脚本名称,因此必须将其更改为你的文件名。

封装完成后,将在工作目录中看到几个新文件夹,进入“dist”文件夹并找到与脚本同名的应用程序文件,在本例中是“freeze_eg”。

图1

双击运行该应用程序,将看到该应用程序刚刚在你的工作目录中生成了一个名为“spend_by_category.xlsx”的Excel文件。

运行应用程序所需的一切都在“dist”文件夹中,这样我们就可以删除其他额外的文件夹和文件,我们只需将dist文件夹发送给其他人,他们就可以运行我们的Python应用程序。然而,该文件夹仍然包含大量文件,其他人可能会混淆要运行哪个文件。pyinstaller方便地提供了一些非常酷的命令行输入参数,我们可以使用它们。

要将Python代码封装到单个文件中,使用--onefile参数要向应用程序添加图标,使用--icon参数。

现在,回到“dist”文件夹,我们有了一个漂亮而专业的Python应用程序,几乎可以在任何计算机上运行,无论是否安装了Python。

注:本文学习整理自pythoninoffice.com。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有