QiYongchuan / MyGitBlog

个人博客主页,记录计算机学习,前端-后端-全栈学习ing
22 stars 1 forks source link

Python文件 xx.py如何打包成.exe格式文件,发给非程序员朋友玩 #27

Open QiYongchuan opened 1 year ago

QiYongchuan commented 1 year ago

前言:我花了一个上午的时间将在命令行中查询天气的接口封装成一个 Python 文件,并通过 Python 的 requests 库直接发送请求。但我想将其发送给没有 Python 编译器的朋友们使用,所以只能将 Python 打包成 exe格式的文件。在此之前,我有过打包自己python程序到exe的经验,将python画的爱心打包成exe格式程序发给朋友。

具体的过程不复杂,可以概括为以下几个步骤:1. 安装 Python 的专用打包工具 PyInstaller。 2.在命令行输入pyinstaller -F py文件路径 就完成了。 (在倒数第二行查看生成的dist文件夹,去看exe文件就可以了。

image image

注意事项: 1.直接打开cmd窗口,输入命令就可以了,后面跟正确的路径就可以打包了。(我之前已经下载过打包工具了) image 2.打包后,点击weather.exe出现了闪退,用命令行运行后:查看到了报错信息 image 将报错信息丢给GPT分析,得出:打包时缺少了几个依赖包,导致直接闪退了 image image

先是执行这一条,手动安装所需的依赖:

pip install chardet charset_normalizer

但是pip安装包出现错误:443 image 轻车熟路,这次直接先关掉梯子,后重新安装,成功。

image

再进行第二步,将缺少的依赖重新打包,这里感觉是在加上这部分后重新打包一份py到exe

image

此上,所有的打包工作完成,成功将写好的waether.py转成了weather.exe程序了,理论上朋友们可以在自己电脑上运行我的查询天气的程序了。

QiYongchuan commented 1 year ago

Python中编码在命令行窗口中出现乱码的情况

但问题还是出现了,乱码,乱码,编码方式不统一,让我们看到的不是同一个世界了。

理论上我想看到的是:

84f0b9fa4844395661ca4019c30feff 0fb2c892de32e8642a38c934b108eb0

但在命令行中看到的是:

990b53fd666ec3a7c2e6a6dd690bbbb 1d6aa6ceac4af905160a91d92a5abe2

编码方式不一样,好看的效果出不来了

e0310c23e434db1dc3b1c23d0c34b1a

暂时留个坑先不解决了

发给朋友们,竟然没反馈,这部分先留个坑吧。

另一个问题:挂梯子,无法查询:),这个问题应该还是来自

26 Python中request发送请求时,443报错

2db8839bc82c385922d6de1032764e3

74d7f62ebd77cce084a25079282c7d6