Win10 / Pyinstaller ImportError: numpy.core.multiarray failed to import
摘要
我刚刚写了一个Python(3.7.2)程序和一个使用Pyinstaller(3.4)来编译它到一个exe。 Python文件使用opencv-python(需要numpy)作为依赖项。尽管已经看了一段时间,我在网上看到的解决方案都没有为我工作。
我没有安装anaconda,我没有使用任何libs的多个版本(包括Python本身)。
此外,当我在python中运行'来自numpy import multiarray'时,即使打印出一个无法执行导入的错误。
我试过了什么
unistalling并重新安装numpy和opencv-python
将numpy更新到最新版本(1.16)。
除了我的原生Windows 10之外,在Windows 10和7 VM上的程序上运行pyinstaller(当然通过pip安装所有依赖项)(快速说明 - 当我在Win7上运行时,我没有得到任何'lib找不到:'我在Win10中看到的错误,但程序仍无法运行)
这些结果都没有对我收到的错误消息产生影响
'numpy.core.multiarray无法导入'。
这个问题
如何让我的程序编译成exe?我愿意使用不同的程序(pyinstaller除外)。
谢谢!!
我有的数据
以下是在python终端中运行'from numpy import multiarray'的错误消息:
1 2 3 | ImportError: cannot import name 'multiarray' from 'numpy' (C:\Users ame\AppData\Local\Programs\Python\Python37-32\lib\site-packages umpy\__init__.py) |
以下是尝试运行已编译的exe的完整错误消息
1 2 3 4 5 6 7 8 9 10 11 | PS C:\Users ame\Downloads\py\dist\SignRecorder> .\SignRecorder.exe ImportError: numpy.core.multiarray failed to import Traceback (most recent call last): File"SignRecorder.py", line 1, in <module> File"c:\users ame\appdata\local\programs\python\python37-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module exec(bytecode, module.__dict__) File"site-packages\cv2\__init__.py", line 3, in <module> ImportError: numpy.core.multiarray failed to import [15208] Failed to execute script SignRecorder |
这是pyinstaller的最终构建输出
1 2 3 4 5 6 7 | C:\Users ame\Downloads\py\build\SignRecorder\SignRecorder.exe 19881 INFO: Building EXE from EXE-00.toc completed successfully. 19893 INFO: checking COLLECT 19893 INFO: Building COLLECT because COLLECT-00.toc is non existent 19894 INFO: Building COLLECT COLLECT-00.toc 28366 INFO: Building COLLECT COLLECT-00.toc completed successfully. |
感谢Rick M,我能够发现我的版本太近了,彼此之间没有很好的协作。 我使用的配置是:
Python 3.5或3.7.2(最新截至01/23/2019)
Pyinstaller 3.4
numpy 1.15