Xgboost: ImportError: لا توجد وحدة باسم numpy.distutils.core (تثبيت Ubuntu xgboost)

تم إنشاؤها على ١١ فبراير ٢٠١٦  ·  17تعليقات  ·  مصدر: dmlc/xgboost

أنا مستخدم جديد لـ Ubuntu وقمت بتنزيل إصدار Ubuntu 14.04 لسطح المكتب مؤخرًا إلى جانب Windows 10.

تكوينات جهاز الكمبيوتر الخاص بي هي: 4 غيغابايت من ذاكرة الوصول العشوائي ، 64 بت

لقد قمت بتثبيت Anaconda باستخدام الأمر التالي من الجهاز (بعد التنزيل من موقع الويب):
bash Anaconda3-2.5.0-Linux-x86_64.sh

تم التثبيت بنجاح.

الآن في محطة ubuntu الخاصة بي ، اتبعت الخطوات كما هو موضح في

  1. تم تثبيت مترجم GNU C ++ حديث -> ناجح
  2. git clone --recursive https://github.com/dmlc/xgboost cd xgboost; make -j4
    كان البناء ناجحًا أيضًا ويمكنني بناء "libxgboost.so"
  3. sudo apt-get install python-setuptools (تم بنجاح)
  4. cd python-package
  5. sudo python setup.py install

يقوم الأمر 5. بإرجاع خطأ بعد عدد من الأسطر. الخطأ كالتالي:

"ImportError: لا توجد وحدة باسم numpy.distutils.core"

هل يمكن لأي شخص أن يقترح كيفية التخلص من هذا الخطأ حتى أتمكن من تثبيت xgboost؟

السجل الكامل بعد الخطوة 5. كالتالي:

_sidvash @ sidvash-HP-Pavilion-g6-Notebook-PC: ~ / xgboost / python-package $ sudo python setup.py install
قم بتثبيت libxgboost من: ['/home/sidvash/xgboost/python-package/xgboost/../../lib/libxgboost.so']
تثبيت قيد التشغيل
تشغيل bdist_egg
تشغيل egg_info
متطلبات الكتابة إلى xgboost.egg-info / need.txt
كتابة xgboost.egg-info / PKG-INFO
كتابة أسماء المستوى الأعلى إلى xgboost.egg-info / top_level.txt
كتابة ارتباطات التبعية إلى xgboost.egg-info / التبعية_links.txt
قراءة ملف البيان "xgboost.egg-info / SOURCES.txt"
قراءة نموذج البيان "MANIFEST.in"
تحذير: لم يتم العثور على ملفات تطابق "_" ضمن الدليل "xgboost / include"
تحذير: لم يتم العثور على ملفات تطابق "_" ضمن الدليل "xgboost / src"
تحذير: لم يتم العثور على ملفات مضمنة مسبقًا تطابق 'xgboost / build / _' في أي مكان في التوزيع
تحذير: لم يتم العثور على ملفات مضمنة مسبقًا تطابق 'xgboost / _. o' في أي مكان في التوزيع
تحذير: لم يتم العثور على ملفات مضمنة مسبقًا تطابق "_.pyo" في أي مكان في التوزيع
تحذير: لم يتم العثور على ملفات مضمنة مسبقًا تطابق "_.pyc" في أي مكان في التوزيع
كتابة ملف البيان "xgboost.egg-info / SOURCES.txt"
تثبيت كود المكتبة لبناء / bdist.linux-x86_64 / egg
تشغيل install_lib
تشغيل build_py
إنشاء build / bdist.linux-x86_64 / egg
إنشاء build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / libpath.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / VERSION -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / build-python.sh -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / __ init__.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / training.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / signature.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / core.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / sklearn.py -> build / bdist.linux-x86_64 / egg / xgboost
نسخ بناء / lib.linux-x86_64-2.7 / xgboost / plotting.py -> build / bdist.linux-x86_64 / egg / xgboost
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / libpath.py إلى libpath.pyc
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / init .py إلى init .pyc
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / training.py to training.pyc
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / config.py إلى كومبليكس.
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / core.py to core.pyc
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / sklearn.py إلى sklearn.pyc
بناء تجميع البايت / bdist.linux-x86_64 / egg / xgboost / plotting.py to plotting.pyc
تثبيت بيانات الحزمة لبناء / bdist.linux-x86_64 / egg
تشغيل install_data
نسخ /home/sidvash/xgboost/python-package/xgboost/../../lib/libxgboost.so -> build / bdist.linux-x86_64 / egg / xgboost
إنشاء build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / PKG-INFO -> build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / SOURCES.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / Depency_links.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / not-zip-safe -> build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / requirements.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
نسخ xgboost.egg-info / top_level.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
إنشاء "dist / xgboost-0.4-py2.7.egg" وإضافة "build / bdist.linux-x86_64 / egg" إليها
إزالة "build / bdist.linux-x86_64 / egg" (وكل شيء تحته)
معالجة xgboost-0.4-py2.7.egg
إزالة "/usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg" (وكل شيء تحته)
إنشاء /usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg
استخراج xgboost-0.4-py2.7.egg إلى /usr/local/lib/python2.7/dist-packages
xgboost 0.4 هو بالفعل الإصدار النشط في easy-install.pth

مثبت /usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg
تبعيات المعالجة لـ xgboost == 0.4
البحث عن scipy
قراءة https://pypi.python.org/simple/scipy/
أفضل تطابق: scipy 0.17.0
تنزيل https://pypi.python.org/packages/source/s/scipy/scipy-0.17.0.zip#md5 = 28a4fe29e980804db162524f10873211
معالجة scipy-0.17.0.zip
الكتابة /tmp/easy_install-2YPTnH/scipy-0.17.0/setup.cfg
تشغيل scipy-0.17.0 / setup.py -q bdist_egg --dist-dir /tmp/easy_install-2YPTnH/scipy-0.17.0/egg-dist-tmp-z4NE5c
Traceback (آخر مكالمة أخيرة):
ملف "setup.py" ، السطر 39 ، بتنسيق
url = 'https: //github.com/dmlc/xgboost')
ملف "/usr/lib/python2.7/distutils/core.py" ، السطر 151 ، في الإعداد
أوامر dist.run_ ()
ملف "/usr/lib/python2.7/distutils/dist.py" ، السطر 953 ، في run_commands
self.run_command (كمد)
ملف "/usr/lib/python2.7/distutils/dist.py" ، السطر 972 ، في run_command
cmd_obj.run ()
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/install.py" ، السطر 73 ، قيد التشغيل
self.do_egg_install ()
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/install.py" ، السطر 96 ، في do_egg_install
cmd.run ()
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 381 ، قيد التشغيل
self.easy_install (المواصفات وليس self.no_deps)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 597 ، في easy_install
return self.install_item (لا شيء ، المواصفات ، tmpdir ، deps ، صحيح)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 648 ، في install_item
self.process_distribution (المواصفات ، التوزيع ، التوزيع)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 694 ، في process_distribution
[المتطلبات] ، self.local_index ، self.easy_install
ملف "/usr/lib/python2.7/dist-packages/pkg_resources.py" ، السطر 620 ، قيد الحل
dist = best [req.key] = env.best_match (req، ws، installer)
ملف "/usr/lib/python2.7/dist-packages/pkg_resources.py" ، السطر 858 ، في best_match
return self.obtain (req، installer) # حاول وتنزيل / تثبيت
ملف "/usr/lib/python2.7/dist-packages/pkg_resources.py" ، السطر 870 ، قيد الحصول
مُثبِّت الإرجاع (متطلب)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 616 ، في easy_install
return self.install_item (spec، dist.location، tmpdir، deps)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 646 ، في install_item
dists = self.install_eggs (المواصفات ، التنزيل ، tmpdir)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 834 ، في install_eggs
إرجاع self.build_and_install (setup_script ، setup_base)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 1040 ، في build_and_install
self.run_setup (setup_script ، setup_base ، args)
ملف "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py" ، السطر 1025 ، في run_setup
run_setup (setup_script، args)
ملف "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py" ، السطر 50 ، في run_setup
لامدا: execfile (
ملف "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py" ، السطر 100 ، قيد التشغيل
وظيفة العودة ()
ملف "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py" ، السطر 52 ، في
{' file ': setup_script، ' name ': ' main '}
ملف "setup.py" ، السطر 265 ، بتنسيق

ملف "setup.py" ، السطر 253 ، في setup_package

ImportError: لا توجد وحدة باسم numpy.distutils`_

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

إذا لم تعمل ميزة "pip install xgboost" من أجلك ، فيمكن أيضًا حل هذه المشكلة عن طريق القيام بذلك

sudo -s
python setup.py install 

المشكلة هي أن sudo python سيستخدم Python للنظام بدلاً من ثعبان Anacoda.

مزيد من التفاصيل: http://stackoverflow.com/questions/30626160/anaconda-python-not-available-from-sudo

ال 17 كومينتر

هل أنت متأكد من أنك تستخدم الثعبان الصحيح؟

محاولة

which python

أو

readlink -f `which python`

لتحديد ما إذا كنت تستخدم Anaconda أم لا.

أهلا،

شكرا على التعليق.

الذي يقوم بيثون بإرجاع ما يلي:
/ home / sidvash / anaconda3 / bin / python

brickerino : لقد قمت للتو بتحديث السجل الكامل بعد الخطوة 5 في الوصف. يرجى معرفة ما إذا كان هذا يساعد.

تظهر الرسالة أنك لا تعاني من مشكلة ، يرجى التحقق مما إذا كان PYTHON_PATH يشير إلى مسار حزمة الأناكوندا. أيضًا ، تأكد من تثبيت conda numpy إن لم يكن بعد

phunterlau :
لقد راجعت python_path باستخدام الأمر التالي:
python -c "import sys؛ print (sys.path)"

تعود :
[''، '/home/sidvash/anaconda3/lib/python35.zip'، '/home/sidvash/anaconda3/lib/python3.5'، '/home/sidvash/anaconda3/lib/python3.5/plat- linux '،' /home/sidvash/anaconda3/lib/python3.5/lib-dynload '،' /home/sidvash/anaconda3/lib/python3.5/site-packages '،' / home / sidvash / anaconda3 / lib /python3.5/site-packages/Sphinx-1.3.5-py3.5.egg '،' /home/sidvash/anaconda3/lib/python3.5/site-packages/cryptography-1.0.2-py3.5- linux-x86_64.egg '،' /home/sidvash/anaconda3/lib/python3.5/site-packages/setuptools-19.6.2-py3.5.egg ']

هذا يبدو جيدا بالنسبة لي ومع ذلك ، أرى في رسالتي الأولى أن المسار "/usr/lib/python2.7/dist-packages" يظهر في عدد من الأسطر في الخطأ ولست متأكدًا مما إذا كان يجب أن يكون هناك أيضًا في مسار python أم ليس. هل يمكنك اقتراح أي شيء؟

قمت أيضًا بتشغيل "conda install numpy" والذي أعاد ما يلي :

باستخدام موقع Anaconda Cloud api https://api.anaconda.org
إحضار البيانات الوصفية للحزمة: ....
حل مواصفات الحزمة: ......................
خطة الحزمة للتثبيت في البيئة / المنزل / sidvash / anaconda3:

سيتم تنزيل الحزم التالية:

| الحزمة | بناء |
| --- | --- |
| عجلة 0.29.0 | py35_0 82 كيلو بايت |

سيتم تحديث الحزم التالية:

wheel: 0.26.0-py35_1 --> 0.29.0-py35_0

المضي قدما ([y] / n)؟ ذ

إحضار الحزم ...
wheel-0.29.0-p 100٪ | ################################# | الوقت: 0:00:01 50.38 kB / s
جارٍ استخراج الحزم ...
[كامل] | ############################################## ##### | 100٪
إلغاء ربط الحزم ...
[كامل] | ############################################## ##### | 100٪
ربط الحزم ...
[كامل] | ############################################## ##### | 100

حاولت تثبيت sudo python setup.py بعد تثبيت هذا ولكن لم يحالفه الحظ ، لا يزال الخطأ نفسه

حسنًا ، لديك Python من النظام و anaconda و python 2 3 على حد سواء ، ولديك أداة إعداد النظام ، لذا فقد أفسدت بعض البيئة. يمكنني اقتراح إنشاء Virtualenv وتثبيت numpy scikit-learn و xgboost

phunterlau : شكرا لتعليقك. انا فعلا اقدر مساعدتك.

أنا مبتدئ في Ubuntu ولا أريد أن أفسد الأمور أكثر.

هل يمكن أن تخبرني من فضلك عملية خطوة بخطوة للقيام بذلك؟

أعلم أنه يمكنني إنشاء Virtualenv باستخدام ما يلي: (لا يُنصح بتثبيت Virtualenv مع conda)
conda create -n <env_name> python=3.5 anaconda

ثم كيف يجب أن أقوم بتثبيت numpy scikit-learn و xgboost على هذه البيئة؟

يمكنني تنشيط البيئة المحيطة من خلال:
source activate <env_name>

هل ينبغي لي بعد ذلك المضي قدمًا في عمليات التثبيت الإضافية على النحو التالي:
pip install numpy
pip install scikit-learn

وبالنسبة إلى xgboost ، يجب أن أكرر كل هذه الخطوات؟
git clone --recursive https://github.com/dmlc/xgboost cd xgboost; make -j4
cd python-package; sudo python setup.py install

حسنًا ، لقد فعلت ما يلي ولكني ما زلت أتلقى نفس الخطأ بالضبط:
conda create -n snakes python=3.5 numpy pandas scikit-learn
sidvash:~$ source activate snakes
discarding /home/sidvash/anaconda3/bin from PATH
prepending /home/sidvash/anaconda3/envs/snakes/bin to PATH

cd xgboost/python-package
sudo python setup.py install

لسبب ما ، لا يزال التثبيت يشير إلى "/usr/lib/python2.7/dist-packages"

لقد تم تسويتها باتباع الخطوات التالية:

  1. إزالة الدليل الحالي المسمى "xgboost" والذي قمت بتنزيله سابقًا من github.
  2. نقطة تثبيت xgboost

عملت هذا وكأنه سحر. لم أجرب هذا سابقًا حيث تم ذكره على موقع جيثب الذي يجب عليك تثبيته من جيثب للحصول على أحدث إصدار.

لقد نشرت هذا السؤال على المكدس الفائض واقترح أحدهم هذا. ها هو الرابط:
http://stackoverflow.com/questions/35332300/importerror-no-module- named-numpy-distutils-core-ubuntu-xgboost-installation/35493714#35493714

على أي حال، شكرا جزيلا للرجال مساعدتكم:brickerinophunterlau

سعيد لأن pip install xgboost ساعد :-)

إذا لم تعمل ميزة "pip install xgboost" من أجلك ، فيمكن أيضًا حل هذه المشكلة عن طريق القيام بذلك

sudo -s
python setup.py install 

المشكلة هي أن sudo python سيستخدم Python للنظام بدلاً من ثعبان Anacoda.

مزيد من التفاصيل: http://stackoverflow.com/questions/30626160/anaconda-python-not-available-from-sudo

@ knguyen0105 جيد عملت معي .... شكرا يا رجل .... :)

@ knguyen0105 إعطاء خطأ
"/home/ashish/anaconda2/bin/../lib/libgomp.so.1: الإصدار" GOMP_4.0 "غير موجود (مطلوب بواسطة /home/ashish/anaconda2/lib/python2.7/site-packages/xgboost /./lib/libxgboost.so) "

هل يستطيع احد المساعدة

ما هو PYTHON_PATH لنفترض أن يتم إرجاعه؟

@ knguyen0105 عملت بشكل جيد بالنسبة لي! شكرا!

شكرا knguyen0105 ، ملخص لأوبونتو ، أناكوندا 2:

  1. http://xgboost.readthedocs.io/en/latest/build.html
  2. sudo -s
    تثبيت python
    بدلا من
    حزمة cd python ؛ sudo python setup.py install

@ knguyen0105 شكرًا جزيلاً حقًا

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

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

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

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

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

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

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