باستخدام Pyinstaller لإنشاء ملف تنفيذي ، فشل الحصول على استيراد ملحقات c numpy.
F:\PCS\Documents\Python>type numpytest.py
# -*- coding: utf-8 -*-
import numpy as np
x = np.array([1,2,3])
print(x)
##works fine in python...
python numpytest.py
[1 2 3]
md5-8471f6cd73214bb860e1c999d342677f
## build with pyinstaller, no errors
pyinstaller -F numpytest.py
md5-751b1907e5a8c901151abcce9d8fb135
>numpytest.exe
Traceback (most recent call last):
File "f:\python38\lib\site-packages\numpy\core\__init__.py", line 24, in <module>
from . import multiarray
File "f:\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "f:\python38\lib\site-packages\numpy\core\multiarray.py", line 14, in <module>
from . import overrides
File "f:\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "f:\python38\lib\site-packages\numpy\core\overrides.py", line 7, in <module>
from numpy.core._multiarray_umath import (
ImportError: DLL load failed while importing _multiarray_umath: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "F:\PCS\Documents\Python\numpytest.py", line 9, in <module>
import numpy as np
File "f:\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "f:\python38\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import core
File "f:\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "f:\python38\lib\site-packages\numpy\core\__init__.py", line 54, in <module>
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy c-extensions failed.
- Try uninstalling and reinstalling numpy.
- If you have already done that, then:
1. Check that you expected to use Python3.8 from "F:\PCS\Documents\Python\dist\numpytest.exe",
and that you have no directories in your PATH or PYTHONPATH that can
interfere with the Python and numpy version "1.18.0" you're trying to use.
2. If (1) looks fine, you can open a new issue at
https://github.com/numpy/numpy/issues. Please include details on:
- how you installed Python
- how you installed numpy
- your operating system
- whether or not you have multiple versions of Python installed
- if you built from source, your compiler versions and ideally a build log
- If you're working with a numpy git repository, try `git clean -xdf`
(removes all files not under version control) and rebuild numpy.
Note: this error has many possible causes, so please don't comment on
an existing issue about this - open a new one instead.
Original error was: DLL load failed while importing _multiarray_umath: The specified module could not be found.
[19036] Failed to execute script numpytest
إلغاء التثبيت وإعادة تثبيته numpy.
Python 3.8.1
numpy 1.18.0
برنامج PyInstaller 3.5
1.18.0 3.8.1 (العلامات / الإصدار 3.8.1: 1b293b6 ، 18 ديسمبر 2019 ، 23:11:46) [MSC v.1916 64 بت (AMD64)]
طريق:
F: Python38Scripts
F: Python38
مثل # 14747
لقد قمت بنسخ الملف وهو يعمل
لدي مشكلة مشابهة جدا. قد يفتح سؤالا جديدا يتعلق بالمشكلة.
هل تمكن أي شخص من تصحيح هذه المشكلة أثناء استخدام الخيار "onefile"؟ يمكنني نسخه يدويًا عندما لا تتم إضافته وتشغيله ، ولكن لا يوجد مكان لنسخه إليه بمجرد استخدام ملف - onefile.
هل هناك أي عمل في الأرجاء؟
حسنًا ، لقد قمت بحلها! هذه مشكلة مع كوندا (أناكوندا).
يجب إعادة تثبيت numpy بالنقطة:
تثبيت نقطة - ترقية - فرض إعادة تثبيت numpy
ببساطة قم بإلغاء تثبيت numpy وإعادة تثبيته. سيتم حل المشكلة.
التعليق الأكثر فائدة
حسنًا ، لقد قمت بحلها! هذه مشكلة مع كوندا (أناكوندا).
يجب إعادة تثبيت numpy بالنقطة:
تثبيت نقطة - ترقية - فرض إعادة تثبيت numpy