Win10 / Pyinstaller ImportError: numpy.core.multiarray не удалось импортировать - PullRequest
0 голосов
/ 18 января 2019

Резюме

Я только что написал программу на Python (3.7.2) и использую Pyinstaller (3.4) для компиляции в исполняемый файл. Файл Python использует opencv-python (который требовал numpy) в качестве зависимости. Несмотря на то, что я некоторое время искал, ни одно из решений, которые я видел в Интернете, не помогло мне.

У меня не установлена ​​anaconda, у меня нет нескольких версий любых библиотек, которые я использую (включая сам Python).

Кроме того, когда я запускаю 'из numy import multiarray' в python, даже это выдает ошибку, что он не может выполнить импорт.

Что я пробовал

удаление и повторная установка numpy и opencv-python

обновление numy до последней версии (1.16).

Запуск pyinstaller на программе на виртуальных машинах Windows 10 и 7 в дополнение к моей родной Windows 10 (конечно, со всеми зависимостями, установленными ранее через pip) (Небольшое примечание - когда я работал на Win7, я не получил ни одного из ошибки 'lib not found:', которые я видел в Win10, но программа все еще не запускалась)

Ни один из этих результатов не изменил сообщение об ошибке, которое я получил, 'numpy.core.multiarray не удалось импортировать'.

Вопрос

Как мне заставить мою программу скомпилироваться в exe? Я открыт для использования другой программы (кроме pyinstaller).

Спасибо !!

Данные у меня

Вот сообщение об ошибке запуска 'from numpy import multiarray' в терминале Python:

ImportError: cannot import name 'multiarray' from 'numpy' (C:\Users\name\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\__init__.py)

Вот полное сообщение об ошибке при попытке запустить скомпилированный exe

PS C:\Users\name\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\name\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

C:\Users\name\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.

1 Ответ

0 голосов
/ 23 января 2019

Благодаря Рику М я смог выяснить, что мои версии были слишком свежими и плохо работали друг с другом. Конфигурация, которую я использовал, работала так:

Python 3.5 или 3.7.2 (самое последнее на 01/23/2019)

Pyinstaller 3.4

Numpy 1,15

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...