1- 报错 Please install pywin32-ctypes.
前提:python安装路径中已经安装了pywin32-ctypes。 运行pyinstaller报错
PyInstaller cannot check for assembly dependencies.
Please install pywin32-ctypes.
解决思路:
python安装路径下Lib\site-packages\PyInstaller下找到compat.py,修改文件如下
修改前:
from win32ctypes.pywin32 import pywintypes # noqa: F401, E402
from win32ctypes.pywin32 import win32api # noqa: F401, E402
修改后:
import pywintypes
import win32api
参考:PyInstaller打包出错问题解决实践记录_win7系统pyinstaller cannot check for assembly depend-CSDN博客
2- 报错ModuleNotFoundError: No module named 'six'
前提:已经安装了six包
import six
ModuleNotFoundError: No module named 'six'
原因:pyinstaller打包时候搜索不到six包的路径
解决思路:指定six的安装路径
我使用pycharm创建的工程,找到对应的包安装路径:File->setting->project->project Interpreter
安装包在当前工程xxx.py文件的路径下venv\Lib\site-packages
指定pyinstaller的打包路径:
Pyinstaller -F -p D:\...\venv\Lib\site-packages xxx.py
# -p参数可以指定python包的路径
# xxx.py为要打包的python文件
3、 运行exe报错 找不到模块ModuleNotFoundError: No module named ‘pandas._libs.tslibs.base
前提:已经安装pandas包,pyinstaller打包exe成功
问题:运行exe报错ModuleNotFoundError: No module named ‘pandas._libs.tslibs.base
原因:pyinstall默认打包pandas库
解决方案:打包时候指定pandas库
pyinstaller -F -p D:\...\venv\Lib\site-packages --hidden-import pandas --hidden-import="pandas._libs.tslibs.timedeltas" --hidden-import="pandas._libs.tslibs.np_datetime" --hidden-import="pandas._libs.tslibs.nattype" --hidden-import="pandas._libs.skiplist" --hidden-import="pandas._libs.tslibs.base" xxx.py
参考:https://www.codenong.com/jse00195d2ff36/