安装Pyinstaller
首先我们要先安装Pyinstaller,直接在cmd使用pip命令
pip install pyinstaller
如果网速太慢可以切换国内源来加速
pip install -i https://pypi.douban.com/simple/ pyinstaller #豆瓣源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller #清华源
注:用魔法工具的时候,不要用国内源,会显示该包找不到
Pyinstaller打包步骤
pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [库包名1]
Pyinstaller -F test1.py 打包exe Pyinstaller -F -w test1.py 不带控制台的打包 Pyinstaller -F -w -i WANG.ico test1.py 打包指定exe图标打包
注:主文件就是main.py
其他文件就是别的.py文件
库包名就是你程序需要的包(可以看报错,缺什么导什么)
打开项目所在的文件夹,这时发现生成了一个dist文件夹和一个.spec文件
在打开文件夹(注:如果使用-F则在该文件夹下只有一个.exe)
双击直接跑
日常报错
ModuleNotFoundError: No module named ‘xxx‘ 意思没有‘XXX’这个包
chaojiying是网上的一个识别验证码的包,他是pip install 下载不了的,就例如自己写的包
解决方法如下
- 没有__init__.py文件
- 没设置PYTHONPATH(自建的包所在路径不在PYTHONPATH下)
没有__init__.py文件
自己写的包下很容易出这个问题,检测包的根目录是否存在一个__init__.py文件,没有的话建一个空的__init__.py文件即可 (注意:不光要检查待导入的包根目录是否存在__init__.py文件,还需要检查当前程序所在文件夹是否存在这个文件)
不过对于缺少__init__.py文件这种情况,还有一种报错形式是: ImportError: attempted relative import with no known parent package
没设置PYTHONPATH
在报错的包下面加入
import syssys.path.append("XXX")
XXX是你自建包的路径
import syssys.path.append("D:\PyCharm 2022.1\爬虫\chaojiying_Python")
注:路径是到那个包的文件夹,不是.py文件
sys没有的直接 pip install sys
另外一种方法是:
把路径添加到系统的环境变量,或把该路径的文件夹放进已经添加到系统环境变量的路径内。环境变量的内容会自动添加到模块搜索路径中
添加环境变量网上有一堆
来源地址:https://blog.csdn.net/m0_59342147/article/details/131113332