Numpy: ImportError: libopenblasp-r0-39a31c03.2.18.so: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل

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

يمكنني استخدام numpy من قبل ، لكنه تعطل فجأة. لا اعرف لماذا. يمكن لأي شخص أن يساعدني؟ لقد قمت مؤخرًا بتثبيت Tensorflow باستخدام الأناكوندا
"
Python 2.7.12 | Anaconda Custom (64 بت) | (افتراضي ، 2 تموز (يوليو) 2016 ، 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] على linux2
اكتب "مساعدة" أو "حقوق طبع ونشر" أو "ائتمانات" أو "ترخيص" لمزيد من المعلومات.
أناكوندا تقدم لك من خلال Continuum Analytics.
يرجى مراجعة: http://continuum.io/thanks و https://anaconda.org

استيراد numpy
Traceback (آخر مكالمة أخيرة):
ملف ""، السطر 1 ، في
ملف "/home/chentao/software/anaconda2/lib/python2.7/site-packages/numpy/ init .py" ، السطر 180 ، في
من عند . استيراد add_newdocs
ملف "/home/chentao/software/anaconda2/lib/python2.7/site-packages/numpy/add_newdocs.py" ، السطر 13 ، في
من numpy.lib استيراد add_newdoc
ملف "/home/chentao/software/anaconda2/lib/python2.7/site-packages/numpy/lib/ init .py" ، السطر 8 ، في
من .type_check import *
ملف "/home/chentao/software/anaconda2/lib/python2.7/site-packages/numpy/lib/type_check.py" ، السطر 11 ، في
استيراد numpy.core.numeric كـ _nx
ملف "/home/chentao/software/anaconda2/lib/python2.7/site-packages/numpy/core/__init__.py" ، السطر 14 ، في
من عند . استيراد متعدد
ImportError: libopenblasp-r0-39a31c03.2.18.so: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل
"

Other

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

بالنسبة لي ، لم ينجح حل cjsg ، ولكن نجح أحد الإجراءات التالية (على Ubuntu 16.04):
conda install -c conda-forge numpy أو
conda install -c anaconda numpy

https://anaconda.org/conda-forge/numpy
https://anaconda.org/anaconda/numpy

ال 18 كومينتر

هل يمكنك نشر هذا في القائمة؟ هذا هو المكان المناسب لطرح الأسئلة. يمكنك أيضًا أن تسأل أهل الأناكوندا.

charris ماذا تقصد بالقائمة؟

أظن أن هذه هي المشكلة التي كان Stefan vdW يشير إليها هنا: https://github.com/scipy/scipy.org/pull/179#issuecomment -247179912

ربما حاول إعادة تثبيت numpy مع conda؟

شكرًا ، charris @ matthew-brett لقد قمت بحل هذا عن طريق استبدال مجلد numpy anaconda2 / lib / python2.7 / site -pack بمجلد numpy في anaconda2 / envs / tensorflow / lib / python2.7 / site-pack

أظن أن هناك بعض المشكلات هنا بالنسبة لنا لإصلاحها ... المشكلة هي أنهم قاموا بتثبيت العجلة الرسمية التي نوزعها وبطريقة ما معطلة - لا ينبغي أن يكون من الممكن الحصول على رسالة الخطأ هذه ، لذلك هناك شيء غامض يحدث .

بطبيعة الحال ، فإن تثبيت العجلة الصغيرة في بيئة أناكوندا سيؤدي عمومًا إلى كسر هذه البيئة على المدى الطويل بسبب قيود كوندا (وأعتقد أنه نوع من خطأ أناكوندا إذا كان هناك ارتباك في بيئة أناكوندا pip install tensorflow داخل بيئة الأناكوندا وتفكر فيها لم يتم تثبيت numpy؟) ، ولكن بعد تثبيت العجلة ، ثم استيراد numpy _ يجب أن يعمل بدون ملفات مفقودة ، وإذا قام العديد من الأشخاص بضربها ، فربما يتعين علينا اكتشافها في النهاية ...

أواجه نفس المشكلة في بيئات Conda ، وقد بدأوا فقط عندما قمت بتثبيت Tensorflow مع دعم وحدة معالجة الرسومات.

بغرابة ، إذا قمت بتثبيت numpy مع pip أولاً ، فإن conda يقوم بتثبيته مرة أخرى إذا قمت بتثبيت شيء يتطلب ذلك (مثل matplotlib) وكل شيء يعمل بشكل جيد.

أواجه نفس المشكلة عندما قمت بالترقية إلى gpu tensorflow ، هل قام أحد بحل هذه المشكلة؟

أظن أن هناك بعض المشكلات هنا بالنسبة لنا لإصلاحها ... المشكلة هي أنهم قاموا بتثبيت العجلة الرسمية

njsmith كيف استنتجت أنه تم تثبيت عجلة؟ يبدو أن كلمة conda-forge numpy أكثر احتمالًا ، وهي مبنية أيضًا ضد OpenBLAS.

الكل ، هل يمكنك التحقق بالضبط من أي إصدار قمت بتثبيته وما إذا كان قد تم تثبيته بواسطة conda أو pip؟

rgommers : لأن libopenblasp-r0-39a31c03.2.18.so هو اسم مشوه تم إنشاؤه بواسطة Auditwheel ، ولا أعتقد أن conda-Forge تستخدم عجلة التدقيق. AFAIK الطريقة الوحيدة للحصول على رسالة الخطأ هذه هي محاولة استيراد تصميمات العجلة الرقمية الرسمية.

rgommers : لأن libopenblasp-r0-39a31c03.2.18. أيضًا هو اسم مشوه تم إنشاؤه بواسطة Auditwheel ، ولا أعتقد أن Conda-Forge تستخدم عجلة التدقيق

آه ، هذا منطقي. في الواقع ، لا يوجد استخدام لعجلة التدقيق في بناء Conda-Forge.

لا ينبغي أبدًا خلط العجلات المعقدة مع Conda. Conda special-cases numpy ويبني جميع الحزم مقابل الإصدار numpy الذي سيتم تثبيته. هذا ليس هو الحال بالنسبة لعجلات الأنابيب ، لذلك من المحتمل أن يحدث كسر خطير.

آه ، يجب أن تكون هذه هي المشكلة: https://github.com/conda-forge/tensorflow-feedstock/blob/master/recipe/build.sh. حزمة conda عبارة عن عجلة معاد تجميعها بدلاً من بناء من المصدر. إذاً هذا مرتبط بـ numpy غير متوفر بعد ذلك. لست متأكدًا بالضبط من كيفية الحصول على تقرير التتبع هنا ، لكنه يبدو غير صحي.

يبدو هذا مريبًا ، لكنني ما زلت لا أفهم كيف يمكن أن يتسبب في قطع اتصال Numpy's numpy/core/multiarray.so عن numpy/.libs/libopenblasp-r0-39a31c03.2.18.so . ولقد قمت للتو بتنزيل عجلة tensorflow 1.1.0 py36 ، ولا يبدو أنه يحتوي على أي واردات ناتجة عن عجلة التدقيق ...

أظن أن conda يقوم أولاً بتثبيت عدد كبير من العملات في anaconda2/lib/python2.7/site-packages/numpy ، و pip ثم قام بالكتابة فوق نفس الموقع ، ووضع .libs/libopenblasp-r0... هناك ، ثم وضع conda نسخة numpy الصحيحة مرة أخرى. أو نوعًا مختلفًا من ذلك - يتم التثبيت في نفس الموقع.

JohnnyRiskacbellini هل يمكنك من فضلك إعطائنا أوامر التثبيت الدقيقة التي استخدمتها قبل حدوث المشكلة؟

هل من أخبار عن هذه المشكلة وكيفية حلها؟
لدي نفس المشكلة بعد تثبيت tensorflow1 مع وحدة معالجة الرسومات كما هو موصى به في إرشادات التثبيت الرسمية هنا ، قسم "التثبيت مع Anaconda".
لقد أنشأت بيئة كوندا جديدة ، وفتحتها ، ثم فعلت:
تثبيت نقطة - مثبتة غير مثبتة - ترقية TF_BINARY_URL دولار أمريكي
حيث قمت بتعيين TF_BINARY_URL على https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp34-cp34m-linux_x86_64.whl .
منذ ذلك الحين ، لا يمكنني استيراد numpy خارج بيئة conda. (على الرغم من أنه يمكنني استيراد numpy داخل البيئة. أعتقد أنه داخل البيئة ، أقوم باستيراد إصدار Pip من numpy ، وفي الخارج ، تم كسر إصدار conda بطريقة ما من خلال تثبيت إصدار pip ، والذي جاء مع تثبيت tensorflow ).

واجهت نفس المشكلة - تم تثبيت tensorflow في بيئة conda جديدة ، ثم توقفت عن العمل numpy في بيئتي القديمة. ما أصلح البيئة القديمة بالنسبة لي هو إزالة numpy في تلك البيئة ( conda uninstall numpy ) ، وإعادة تثبيته بالنقطة ( pip install numpy ) ، ثم التثبيت فوق ذلك باستخدام conda ( conda install numpy ). لست واضحًا تمامًا لماذا نجح ذلك ، لكنه يعمل. ببساطة لم تنجح عملية إلغاء التثبيت باستخدام conda ثم إعادة التثبيت باستخدام conda.

شكرا devonbrackbill ، لقد
للتسجيل: لقد أجريت بالفعل تكرارًا ثانيًا لإلغاء التثبيت / إعادة التثبيت ، لأنني اشتبهت في أن بيثون يستخدم حزمة pip numpy. لذا ، بعد فعل ما قلته ، هذا ما فعلته ، والمخرجات الغريبة إلى حد ما التي حصلت عليها:
pip uninstall numpy ، الذي تم إلغاء تثبيته بطريقة ما:
... / anaconda3 / lib / python3.6 / site-packs / numpy
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1-py3.6.egg-info
(الحزم numpy أليس كذلك؟) وكسر numpy. ثم
conda uninstall numpy الذي لا يزال مُزال
numpy: 1.13.1-py36_0
"pip uninstall numpy" ، والذي أزال:
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / DESCRIPTION.rst
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / INSTALLER
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / METADATA
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / RECORD
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / WHEEL
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / metadata.json
... / anaconda3 / lib / python3.6 / site -pack / numpy-1.13.1.dist-info / top_level.txt
conda install numpy
وهي تعمل الآن!

بالنسبة لي ، لم ينجح حل cjsg ، ولكن نجح أحد الإجراءات التالية (على Ubuntu 16.04):
conda install -c conda-forge numpy أو
conda install -c anaconda numpy

https://anaconda.org/conda-forge/numpy
https://anaconda.org/anaconda/numpy

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