一、AttributeError: ‘str’ object has no attribute ‘items’
- 1.可能是你的setuptools版本比较老,更新一下seetuptools:pip install --upgrade setuptools
如果还没解决的话,下一步 - 2.pip uninstall enum34 卸载掉这个
二、然后遇到这个问题
- 解决办法一:修改生成的spac文件,在hiddenimports里输入模块名
然后以此spec文件打包python
- 解决办法二:在用pyinstaller打包py文件时加入–hidden-import numpy.core._dtype._ctypes(这部分填写缺少的模块名)
完整代码:pyinstaller --hidden-import numpy.core._dtype._ctypes(这里填你缺少的模块名) -F
yourfilename.py(yourfilename.py即你想打包的文件名)
最后就可以顺利打开exe文件了
三、补充
-h,–help | 查看该模块的帮助信息 |
---|---|
-F,-onefile | 产生单个的可执行文件 |
-D,–onedir | 产生一个目录(包含多个文件)作为可执行程序 |
-a,–ascii | 不包含 Unicode 字符集支持 |
-d,–debug | 产生 debug 版本的可执行文件 |
-w,–windowed,–noconsolc | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
-c,–nowindowed,–console | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
-o DIR,–out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
-p DIR,–path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
-n NAME,–name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
# 产生单个的可执行文件、指定程序运行时不显示命令行窗口(仅对 Windows 有效)、以icon.ico为图标
Pyinstaller -F -w -i image\icon.ico Fl_Mainwindow.py
四、解决打包中文名报错问题
https://blog.csdn.net/zou394659383/article/details/88875401