天天看點

pyinstaller打包出錯 numpy.core.multiarray failed to import

       工程使用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 <module>

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。