天天看点

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)
pyinstaller 是一个很有用的第三方库,通过对源文件打包,让我们的python文件可以跨系统跨环境运行。

前言

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

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

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

pyinstaller

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

安装

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

如果一直报超时错误,如下,

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

可以这样安装

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可以正常运行,那么恭喜你,打包成功了。如果打包时报如下错误

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

那很可能是版本不对,可以试试如下安装pyinstaller

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

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

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

打包成功,执行

打包成功之后,你会看到多出了几个新的文件,不要害怕,不要凌乱。打开dist文件夹,你需要的可执行文件就在这里。点点点即可。

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

Oh, No. 点点点,可以看见文件确实执行了,但是没有报错也没有输出预期结果,反正我是有一点凌乱了。

看官网梳理流程,确定应该没有错误。预估可能原因:

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

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

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

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

重新安装,打包,执行。

完美。

附上部分打包命令:

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)

pyinstaller API Document

我的python学习笔记

最后

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

python程序打包多个py文件_pyinstaller 把.py文件打包成可执行文件(.exe)