工程使用pyinstaller3.5打包,工程使用到了tensorflow2.0,opencv-contrib-python 4.1,numpy1.6,打包后运行exe提示与numpy相关的错误:
File "d:\project\handwriting\ocrcn_tf2\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "lib\site-packages\cv2\__init__.py", line 3, in
ImportError: numpy.core.multiarray failed to import
这是pyinstaller的问题,没有把对应的模块打包进来。
解决方法:在运行的py文件加入
import numpy.core._dtype_ctypes
网上有提到降低numpy版本的方式,没有成功。而且numpy版本降低了,直接运行.py文件会提示错误:
tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr
这是因为tensorflow2.0需要高版本的numpy。