1
pyinstaller 是一个很有用的第三方库,通过对源文件打包,让我们的python文件可以跨系统跨环境运行。
前言

给小姐姐写了个python文件,功能实现了,但怎么给她呢。两种方案:

  • 直接给python文件,然后让她自行安装python。
  • 把python文件和python环境一起给她,她直接点点点即可。

本着码农懒懒懒的精神,方案一不予通过, 采用方案二。

pyinstaller

pyinstaller 可以把python文件直接打包成可执行文件,符合需求。

安装
  • 如果你的python不是3.8.0,应该可以这样安装,如果你的python版本是3.8.0,可以跳到文章末尾看安装方式
pip install pyinstaller

如果一直报超时错误,如下,
1.png
可以这样安装

pip install pyinstaller --trusted-host https://pypi.org --trusted-host https://files.pythonhosted.org

安装成功,查看pyinstaller版本验证pyinstaller是否成功

pyinstaller --version

3.5

如果正常输出pyinstaller版本说明安装成功

打包
# -F 指的是打包成一个文件
pyinstaller -F xxx.py

如果执行成功,并且dist文件夹下的xxx.exe可以正常运行,那么恭喜你,打包成功了。如果打包时报如下错误
2.png
那很可能是版本不对,可以试试如下安装pyinstaller

pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

我的python是3.8.0,报了这个错,原因如下
3.png

打包成功,执行

打包成功之后,你会看到多出了几个新的文件,不要害怕,不要凌乱。打开dist文件夹,你需要的可执行文件就在这里。点点点即可。
5.png
Oh, No. 点点点,可以看见文件确实执行了,但是没有报错也没有输出预期结果,反正我是有一点凌乱了。
看官网梳理流程,确定应该没有错误。预估可能原因:

  • 使用了第三方库,但是打包并没有报错。无从下手
  • 源文件出问题
python xxxx.py

// 报错
"XXXXXX"找不到(类似)

之前运行是没有错误的,不知道为什么突然又没有这个库,后来仔细想了想,应该是我之前用的python2安装的,今天打包用的是python3。

此时想到一句话,论挖坑技术哪家强,~

重新安装,打包,执行。
完美。

附上部分打包命令:
5.jpg

pyinstaller API Document

往期文章:
python批量修改excel文件——xlrd、xlutils
python批量修改excel文件 xlwings
我的python学习笔记

最后

欢迎一起快乐的挖坑、填坑,哈哈哈
qrcode_for_gh_1961e601cc53_258.jpg


Rhinoceros
180 声望12 粉丝

以终为始