pyinstaller 打包遇到的错误总结包含gdal pandas mxnet dll等问题的解决
1 刚开始使用pyinstaller -F ship_detect.py 打包报
File "site-packages\osgeo\__init__.py", line 17, in swig_import_helper ImportError: No module named '_gdal'
这个错误解决方法就是不使用-F 直接pyinstaller ship_detect.py 然后在dist里面找到osgeo._gdal 把它重命名为_gdal,然后这个错误解决了
2 但是又报了另外一个错误 ModuleNotFoundError: No module named 'pandas._libs.tslibs.np_datetime'
刚开始试图修改 pyinstaller 目录里面的hook文件夹 增加 hook_pandas.py 脚本内容 : hiddenimports =['pandas._libs.tslibs.np_datetime','pandas._libs.tslibs.nattype','pandas._libs.skiplist']
但是改完一个又一个最后 使用 pyinstaller --hidden-import pandas ship_detect.py 解决
3 接着又报缺少mxnet dll库
RuntimeError: Cannot find the MXNet library.
List of candidates:
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\libmxnet.dll
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\../../lib/libmxnet.dll
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\../../build/libmxnet.dll
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\../../build\libmxnet.dll
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\../../build\Release\libmxnet.dll
F:\YOLO\YOLO_pro\install\yoloV2\dist\ship_detect\mxnet\../../windows/x64\Release\libmxnet.dll
[1088] Failed to execute script ship_detect
解决方法 在dist 建立文件夹 mxnet 然后不管三七 21 简单粗暴把mxnet里面dill都复制到该文件夹。
最终程序得以顺利运行。