Numpy: ImportError: فشل تحميل DLL لـ numpy 1.16.1

تم إنشاؤها على ١٢ فبراير ٢٠١٩  ·  21تعليقات  ·  مصدر: numpy/numpy

قم بإنشاء بيئة افتراضية جديدة باستخدام Anaconda Navigator 1.9.6 ضمن Windows 10 ، وتحديد Python 3.7 ، وتسمية python37

في وحدة التحكم الخاصة بـ VSCode:

  • تفعيل python37
  • نقطة تثبيت numpy
(python37) D:\TfsProj\alphastone>pip install numpy
Collecting numpy
  Using cached https://files.pythonhosted.org/packages/41/b8/3a6b07352c2542ca1c89be7583e7ca07bf513895b6ac59ae008054f326b1/numpy-1.16.1-cp37-cp37m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.16.1

(نفس الشيء مع المعلمة - no-cache-dir)

  • بيثون
  • استيراد numpy
(python37) D:\TfsProj\alphastone>python
Python 3.7.2 (default, Feb 11 2019, 14:11:50) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
    from . import overrides
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\overrides.py", line 6, in <module>
    from numpy.core._multiarray_umath import (
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 47, in <module>
    raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

لم تحل جميع النصائح وعمليات إعادة التثبيت عبر pip و conda أو إصدارات مختلفة من numpy (مثل 1.15.4) هذه المشكلة بالنسبة لي.

إذا قمت بإلغاء تثبيت numpy متعدد النقاط حتى لا يتبقى أي عدد ، ثم قمت بتثبيت conda numpy ، فإن استيراد numpy يعمل بشكل مثير للاهتمام (في 1.15.4).

يقوم تثبيت conda numpy بما يلي:

The following NEW packages will be INSTALLED:

  blas               pkgs/main/win-64::blas-1.0-mkl
  icc_rt             pkgs/main/win-64::icc_rt-2019.0.0-h0cc432a_1
  intel-openmp       pkgs/main/win-64::intel-openmp-2019.1-144
  mkl                pkgs/main/win-64::mkl-2019.1-144
  mkl_fft            pkgs/main/win-64::mkl_fft-1.0.10-py37h14836fe_0
  mkl_random         pkgs/main/win-64::mkl_random-1.0.2-py37h343c172_0
  numpy              pkgs/main/win-64::numpy-1.15.4-py37h19fb1c0_0
  numpy-base         pkgs/main/win-64::numpy-base-1.15.4-py37hc3f5095_0

ما الذي ينقص طريقة البيب؟
أيه أفكار؟

00 - Bug 29 - InteAnaconda

التعليق الأكثر فائدة

هناك فرق بين موقع مكتبات الدعم الإضافية المزودة بأناكوندا وتلك المزودة بمخزون تخزين تحصل عليه من pip install . يتطلب هذا إجراء تعديلات على المتغير PATH . ربما تفشل تعديلات PATH عند الاستيراد. هل الدليل site-packages\numpy\.libs موجود وهل يحتوي على ملفات *.dll ؟، إذا كان الأمر كذلك ، يمكنك محاولة إضافة هذا الدليل إلى PATH قبل تشغيل python:

rem This fails
python -c "import numpy"

rem Does this succeed ??? 
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"

يرجى إبلاغنا إذا كان هذا الدليل موجودًا وإذا نجح تغيير المسار ، فهذا يشير إلى أن الكود الموجود في numpy\__config__.py يفشل في تعديل os.environ['PATH'] . ربما تكون قد تجاوزت الطول المسموح به PATH ، أو أن هناك مشكلة أخرى في متغير البيئة PATH .

تضع Anaconda ملفات dll الإضافية في <anaconda install>\Library\bin ، وتضيف هذا الدليل إلى المسار عند تنشيط بيئة anaconda. يحاول Stock numpy ، كما هو موضح أعلاه ، إلحاق الدليل .lib بنهاية المتغير PATH .

ال 21 كومينتر

هناك فرق بين موقع مكتبات الدعم الإضافية المزودة بأناكوندا وتلك المزودة بمخزون تخزين تحصل عليه من pip install . يتطلب هذا إجراء تعديلات على المتغير PATH . ربما تفشل تعديلات PATH عند الاستيراد. هل الدليل site-packages\numpy\.libs موجود وهل يحتوي على ملفات *.dll ؟، إذا كان الأمر كذلك ، يمكنك محاولة إضافة هذا الدليل إلى PATH قبل تشغيل python:

rem This fails
python -c "import numpy"

rem Does this succeed ??? 
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"

يرجى إبلاغنا إذا كان هذا الدليل موجودًا وإذا نجح تغيير المسار ، فهذا يشير إلى أن الكود الموجود في numpy\__config__.py يفشل في تعديل os.environ['PATH'] . ربما تكون قد تجاوزت الطول المسموح به PATH ، أو أن هناك مشكلة أخرى في متغير البيئة PATH .

تضع Anaconda ملفات dll الإضافية في <anaconda install>\Library\bin ، وتضيف هذا الدليل إلى المسار عند تنشيط بيئة anaconda. يحاول Stock numpy ، كما هو موضح أعلاه ، إلحاق الدليل .lib بنهاية المتغير PATH .

أنت تعمل بالفعل!
C: \ Users \ Name.conda \ envs \ test37 \ Lib \ site -packs \ numpy.libs موجود ويوجد فيه ملف واحد:
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll

سأحاول تثبيتًا جديدًا بمسار أولي أقصر للتحقق من مسيرتك في غضون ساعة تقريبًا.

سؤال جانبي: ألا يجب أن يكون هناك المزيد من dlls في هذا المسار؟ أريد استخدام OpenMP و mkl مع pytorch وليس openblas ...

إذا كنت تريد استخدام mkl ، فاستخدم conda وليس pip

معذرةً ، استخدم pip install intel-numpy not pip install numpy ، لكنك ستحصل على 1.15.1 . تجعل Conda الأمر أسهل ، ويبدو أنك تستخدم الأناكوندا ، لذلك من المحتمل أن يمنحك التمسك بالكوندا تجربة موحدة أكثر.

حسنًا ، لقد اختصرت PATH ولا يزال لا يعمل مع "تثبيت النقطة numpy".
هذا مُسبق إلى PATH إذا "قمت بتنشيط conda test37":
المسار = C: \ Users \ Name.conda \ envs \ test37؛ C: \ Users \ Name.conda \ envs \ test37 \ Library \ mingw-w64 \ bin؛ C: \ Users \ Name.conda \ envs \ test37 \ Library \ usr \ bin؛ C: \ Users \ Name.conda \ envs \ test37 \ Library \ bin؛ C: \ Users \ Name.conda \ envs \ test37 \ Scripts ؛ C: \ Users \ Name.conda \ envs \ test37 \ سلة مهملات؛...

لا يزال مساري طويلاً ، لكن لا يمكنني إزالة أي شيء منه بعد الآن ، لأن الأدوات الأخرى تحتاجه كما هو.

لماذا لا يوجد Conda Numpy 1.16.1؟

شكرا على مساعدتك رفيقي!

(test37) D: \ test> pip تثبيت intel-numpy

Collecting intel-numpy
Could not find a version that satisfies the requirement intel-numpy (from versions: )
No matching distribution found for intel-numpy

تعطيني عبارة "conda install numpy" 1.15.4 والتي تعمل بشكل جيد.

mattip شكرا

ربما يجب علينا الربط بشكل ثابت وتخفيف الحاجة إلى تشويه هذا المسار

هل يمكن أن يكون لمشكلة تحرير PATH هذه في numpy لإصدارات python الأحدث نفس السبب؟
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849 -> https://github.com/pytorch/pytorch/issues/17051

حصلت على نفس نوع الخطأ لـ scipy أيضًا. بعد إنشاء env باستخدام conda ، اضطررت إلى إلغاء التثبيت باستخدام pip والتثبيت باستخدام conda لجميع الحزم التي تسببت في مشكلة بالنسبة لي. لقد نجح ذلك بالنسبة لي ، على الرغم من أنه ليس حلاً مثاليًا لأن هذه كانت عملية يدوية للغاية.

djdookie : فقط للتأكد مما نجح وما لم ينجح. لديك dll في C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs . عمل ذلك مسبقًا على PATH قبل بدء عمل python. هل يمكنك محاولة إلحاق ذلك بنهاية PATH (باستخدام '؛' seperator) واختبار ما إذا كان يعمل numpy المثبت بالأنابيب (ربما في بيئة conda جديدة ، والتي من شأنها تغيير المسار)؟

تحرير: لاحظ أن البيئة الجديدة سيكون لها مسار مختلف إلى dll

يبدو أن هذا هو ananconda مكسور ، راجع هذه المسألة ContinuumIO / anaconda-issues # 10628

إغلاق. يبدو أن أناكوندا قد أصلحت المشكلة التي تسببت في ذلك.

لقد قمت للتو بتنزيل أحدث إصدار من نظام التشغيل windows لـ python3.7 لـ windows 7 وحصلت على هذه المشكلة. هل يمكننا إعادة الفتح؟

أنا حل المشكلة. لقد كانت مشكلة في المسار لأنني كنت أستخدم WingIDE. لقد استخدمت هذه التعليمات لإصلاحها
https://wingware.com/blog/anaconda

على وجه التحديد ، فتحت موجه أوامر anaconda وقمت بعمل "PATH" وقمت بنسخه في مسار الجناح الخاص بي لمشروعي.

كمرجع ، My PATH = C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ mingw-w64 \ bin؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ usr \ bin؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Scripts ؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ bin؛ C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ condabin ؛

لقد ذهبت للتو إلى المجلد وحذفت واحدًا. الذي يبدو أنه قد ثابتة.

يبدو أن هذا يحدث أيضًا في Jupyter إذا لم تقم "بتنشيط conda" البيئة التي ستستخدمها مسبقًا لبدء Jupyter.

ويحدث أيضًا في VS Code إذا لم تقم "بتنشيط" البيئة قبل البدء في الكود. إذا كنت أستخدم "رمز". في موجه بيئة conda ، يعمل.

يبدو أن هذا يحدث أيضًا في Jupyter إذا لم تقم "بتنشيط conda" البيئة التي ستستخدمها مسبقًا لبدء Jupyter.

هذا عمل معي. ويبدو أن هذه القضية خاصة في مختبر جوبيتر

لقد قمت بحل مشاكلي مع مشكلات تحميل Numpy DLL عن طريق استبدال Anaconda3 بـ WinPython.

لدي هذه المشكلة مع WinPaython

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

inducer picture inducer  ·  3تعليقات

amuresan picture amuresan  ·  4تعليقات

Kreol64 picture Kreol64  ·  3تعليقات

marcocaccin picture marcocaccin  ·  4تعليقات

manuels picture manuels  ·  3تعليقات