一、前言
写这个文章将自己在安装pyinstaller时所踩过的坑和解决方法记录一下,方便以后查阅!
先说一下自己的问题:
已经使用pip install pyinstaller安装好了pyinstaller库了,在Python中也可以import,环境也设置了,但是在cmd中运行打包代码却没有反应或者提示pyinstaller不是外部或内部指令什么的,在网上找了一堆方法解决都不成功,没有找到和我类似问题的!
原因:
我虽然用pip指令安装了pyinstaller库但是实际上算是安装失败了!在查阅好多博客和网上的解决方法后,我发现他们在Python安装路径下的Scripts文件夹中会有一个pyinstaller.exe!!!而我没有!!这是我不能运行的原因!!
二、安装pyinstaller
安装教程网上有两种无非就pip和直接去官网下载相应压缩包并解压,大佬们都推荐直接使用pip方便一点!
1、pip安装
win+R打开搜索栏,输入cmd后会弹出命令窗口,输入:pip install pyinstaller 然后回车就好了,它会自动安装pyinstaller和其相应的库!等她安装完就可以打包了!
这是不出错情况下的!
我就比较不一样pip显示成功了!但是在相应目录下却没有相应的pyinstaller.exe所以只能用第二种方法了!
2、下载库的压缩包
我是看网上大佬的教程,在GitHub上面下载源码并解压的!
地址为 https://github.com/pyinstaller/pyinstaller,
下载压缩包到自己Python目录下的Scripts,我的电脑是F:\Python\Scripts,将压缩包下载到这里后解压!
但是我在GitHub上面下载源码很慢,所以我先登录自己的码云
然后复制上面GitHub的源码地址,
将源码导入到自己的码云后再去下载就飞快了!
下载后解压,解压完毕后进入含有pyinstaller.py的目录下
在上面的路径输入cmd
进入相应路径下的cmd,输入:python setup.py install!!切记这里要保证自己的环境变量中有布置好Python!python环境变量布置
运行后出现以下结果
【注:图片是复制大佬的,我自己弄的时候没有截图】
出现这个结果后接着输入:pyinstaller --version
出现这个结果说明pyinstaller安装成功了,你也可以在Python路径下的scripts看到pyinstaller.exe!!
三、使用pyinstaller打包为exe文件
1、在pyinstaller路径下转化
将要转化的py(我用的是untitled0文件)文件放入pyinstaller文件下,我是F:\Python\Scripts\pyinstaller-master\pyinstaller。
输入python pyinstaller.py -F untitled0.py
开始打包,打包后可以在这个路径下看见一个untitled0文件夹,点进去的dist文件夹中可以看见一个untitled0.exe,它就是打包后的exe文件了。
2、在任意路径下转化exe文件
首先设置好环境变量,计算机—>属性—>高级系统设置—>环境变量,在系统变量下有一个path点击编辑,将pyinstaller.exe的路径加入到其中,也就是Python下的scripts文件路径我自己之前是已经设置了,但是昨晚安装好pyinstaller后还是显示不是外部或内部命令,我一看我环境也配了不应该啊!!然后把之前的路径删了重新创建了一遍就可以了!(我也不知道为什么!!)
按道理配置好会自动识别,难道还要更新的???(黑人问号)
配置好环境后,进入要转化的py文件路径下,我还是untitled0.py
还是在上面的路径输入cmd
在cmd中输入:pyinstaller -F untitled0.py
转化成功你可以在文件夹中看见一个dist文件夹进去exe文件就在里面!
这个方法可以不把py文件复制到pyinstaller文件目录下进行转化!但是它转化完并不是一个以转化的py文件名命名的大文件里面有dist文件,而是多个文件夹分布在当前目录下!
补充
1、如果打包后的exe文件打开一闪而过,有两个解决方法,https://blog.csdn.net/zichen_ziqi/article/details/104600600/
简单点就是直接在cmd相应路径下运行生成的exe文件!!
2、可以利用pyinstaller -F --icon=xxx.ico untitled0.py,为exe加一个图标,ico文件也为当前路径下的,其他路径要说明指定!
这个网站可以将图片转化为ico格式:https://tool.lu/favicon/
参考:https://blog.csdn.net/qq_25269795/article/details/80547730
https://blog.csdn.net/zichen_ziqi/article/details/104600600/
https://blog.csdn.net/creeperone/article/details/80957954