首页 > 编程知识 正文

代码封装成可执行文件,如何运行sql脚本文件

时间:2023-05-06 08:47:14 阅读:255695 作者:4269

一、背景

区别于 Cpp 等编程语言,Python 无法将其脚本直接转为可执行的文件。

「可执行文件」常见如:

Win 下后缀为 exe 的文件Mac 下后缀为 app 的文件

在对应环境执行 Python 脚本,需要对应环境也同样有 Python 环境。这样在我们想给业务人员提供自动化的数据处理脚本 或 给女盆友绘制一棵圣诞树时,就会有产生一个困境:业务人员 / 女盆友 的电脑没有 Python 环境,即便装了对应的环境,后续的维护也较为麻烦。

既然无法直接转为可执行文件,那是否可以借助其他方法迂回地实现脚本的封装呢?答案是肯定的。

本文将从实现方法、具体内容、常见问题(如打包后的文件过大;Mac上无法打开文件等)3 个模块进行阐述。

二、实现 2.1 实现方法

最通用且方便的是,借助第三方库将对应 Python 脚本以及环境统一打包、封装。

这里强推 Pyinstaller ,在 Win 和 Mac 下都有很好的表现。

打包 Python 脚本的常用第三方库:

Win 环境: Pyinstaller / Py2exe

Mac 环境:Pyinstaller / Py2app (踩过巨坑,亲测不算好用)

Pyinstaller 安装方法: pip install pyinstaller Pyinstaller 的应用及参数说明:官方文档 2.2 具体内容

恰逢圣诞节,就用「绘制圣诞树」的脚本来举个栗子吧:

圣诞树代码详见:链接

Step 1: 首先,打开 终端 (Terminal),通过 cd 命令进入圣诞树代码脚本所在的目录下:

cd <所在路径>

Step 2: 使用 Pyinstaller 库封装脚本:

继续在终端依次执行下述命令:

pyinstaller -F -w -i <app 文件的图标文件名>.icns --clean --noconfirm <Python脚本名称>.pypyinstaller -F -w --clean --noconfirm <Python脚本名称>.spec -i 参数是指定可执行文件的图标,可不指定;若进行指定,Win下支持 ico 格式的文件,Mac 下支持 icns 格式的文件;可通过在线的图片格式转换网站,将 png 等格式的图片转为需要的 ico / icns 的文件

Step 3: 结果验收:

生成的可执行文件会保留在代码脚本所在的目录下的 dist 文件夹下,Win 环境下是 .exe 文件,Mac 环境下是 .app 文件,双击即可运行。

将对应文件拷贝出来发给需要的人即可,不需要对方装有 Python 环境。

下图是结果的展示:

图标
绘制后的成图:
2.3 常见问题 Q&A

Q1: 封装后的文件过大怎么办?

原因:由于 Pyinstaller 默认将当前整个 Python 环境 和 脚本内容封装进去的,因此在 Python 环境中第三方库越多,打包后的可执行文件越大;

解决方案:创建虚拟环境,进入(activate)虚拟环境后 pip 安装脚本需要用到的库,然后再用 Pyinstaller 封装脚本即可。

conda create -n <虚拟环境名称> python=<Python的版本>conda activate <虚拟环境名称>

Q2: Mac 下无法打开文件?

原因:双击 app 文件后显示“应用程序 无法打开”的弹窗,在大多情况下,都是因为对应文件没有执行权限;

解决方案:在终端用 chmod 命令赋权限。

chmod +x <文件完整目录>

Q3: 如何通过参数来控制应用?

Python 脚本中调用外部文件的变量实现,实际运用时修改外部文件的内容即可;更优雅的方法:用 Gui 开发工具实现,如简易便捷的 pysimplegui。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。