Xgboost: ImportError: нет модуля с именем numpy.distutils.core (установка Ubuntu xgboost)

Созданный на 11 февр. 2016  ·  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 установить
Установите libxgboost из: ['/home/sidvash/xgboost/python-package/xgboost/../../lib/libxgboost.so']
запущенная установка
работает bdist_egg
работает egg_info
запись требований в xgboost.egg-info / requires.txt
написание xgboost.egg-info / PKG-INFO
запись имен верхнего уровня в xgboost.egg-info / top_level.txt
запись dependency_links в xgboost.egg-info / dependency_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
копирование build / lib.linux-x86_64-2.7 / xgboost / libpath.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / VERSION -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / build-python.sh -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / __ init__.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / training.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / compat.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / core.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / lib.linux-x86_64-2.7 / xgboost / sklearn.py -> build / bdist.linux-x86_64 / egg / xgboost
копирование build / 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
байтовая компиляция build / bdist.linux-x86_64 / egg / xgboost / init .py в init .pyc
компилирующая байты build / bdist.linux-x86_64 / egg / xgboost / training.py в training.pyc
компилирующая байты build / bdist.linux-x86_64 / egg / xgboost / compat.py в compat.pyc
компилирующая байты build / bdist.linux-x86_64 / egg / xgboost / core.py в core.pyc
компилирующая байты build / bdist.linux-x86_64 / egg / xgboost / sklearn.py в sklearn.pyc
компилирующая байты build / bdist.linux-x86_64 / egg / xgboost / plotting.py в plotting.pyc
установка данных пакета в build / 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 / dependency_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 / requires.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
Отслеживание (последний вызов последний):
Файл "setup.py", строка 39, в
url = 'https: //github.com/dmlc/xgboost')
Файл "/usr/lib/python2.7/distutils/core.py", строка 151, в настройке
dist.run_commands ()
Файл "/usr/lib/python2.7/distutils/dist.py", строка 953, в run_commands
self.run_command (cmd)
Файл "/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 (Нет, spec, tmpdir, deps, True)
Файл "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", строка 648, в install_item
self.process_distribution (spec, dist, deps)
Файл "/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, установщик)
Файл "/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
вернуть 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 (сценарий_установки, база_установок, аргументы)
Файл "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", строка 1025, в run_setup
run_setup (сценарий_установки, аргументы)
Файл "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", строка 50, в run_setup
лямбда: execfile (
Файл "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", строка 100, выполняется
return func ()
Файл "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", строка 52, в
{' файл ': сценарий_установки, ' имя ': ' основной '}
Файл "setup.py", строка 265, в

Файл "setup.py", строка 253, в setup_package

ImportError: нет модуля с именем numpy.distutils`_

Самый полезный комментарий

Если pip install xgboost у вас не работает, эту проблему также можно решить, выполнив

sudo -s
python setup.py install 

Проблема в том, что sudo python будет использовать системный Python вместо python anacoda.

Подробнее: http://stackoverflow.com/questions/30626160/anaconda-python-not-available-from-sudo

Все 17 Комментарий

Вы уверены, что используете правильный питон?

Пытаться

which python

или

readlink -f `which python`

чтобы определить, используете ли вы Anaconda или нет.

Привет,

Спасибо за комментарий.

какой питон возвращает следующее:
/ главная / сидваш / анаконда3 / бен / питон

@brickerino : Я только что обновил полный журнал после шага 5 в описании. Пожалуйста, посмотрите, поможет ли это.

Сообщение показывает, что у вас нет numpy, проверьте, указывает ли ваш PYTHON_PATH на путь к пакету anaconda. Кроме того, убедитесь, что 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, который вернул следующее :

Использование сайта Api Anaconda Cloud https://api.anaconda.org
Получение метаданных пакета: ....
Технические характеристики решающего пакета: ......................
План пакета для установки в окружении / home / sidvash / anaconda3:

Будут загружены следующие пакеты:

| пакет | построить |
| --- | --- |
| колесо-0.29.0 | py35_0 82 КБ |

Будут ОБНОВЛЕНЫ следующие пакеты:

wheel: 0.26.0-py35_1 --> 0.29.0-py35_0

Продолжить ([y] / n)? у

Получение пакетов ...
колесо-0.29.0-p 100% | ############################### | Время: 0:00:01 50.38 кБ / с
Извлечение пакетов ...
[ПОЛНЫЙ] | ######################################################################## ##### | 100%
Отключение пакетов ...
[ПОЛНЫЙ] | ######################################################################## ##### | 100%
Связывание пакетов ...
[ПОЛНАЯ] | ######################################################################## ##### | 100

Пробовал установить sudo python setup.py после установки, но не повезло, все та же ошибка

ну, у вас есть python из системы и anaconda, и python 2 3 оба, и у вас есть системный setuptool, поэтому некоторые env испортились. я могу предложить создать virtualenv и установить numpy scikit-learn и xgboost

@phunterlau : Спасибо за ваш комментарий. Я действительно ценю твою помощь.

Я новичок в Ubuntu и не хочу больше портить вещи.

Не могли бы вы рассказать мне, как это сделать, шаг за шагом?

Я знаю, что могу создать virtualenv, используя следующее: (установка virtualenv не рекомендуется с conda)
conda create -n <env_name> python=3.5 anaconda

И тогда как мне установить numpy scikit-learn и xgboost на этом env?

Я могу активировать env:
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. pip install xgboost

Это сработало как шарм. Я не пробовал это раньше, так как на сайте github упоминалось, что вы должны установить последнюю версию с github.

Я разместил этот вопрос о переполнении стека, и кто-то предложил это. Вот ссылка:
http://stackoverflow.com/questions/35332300/importerror-no-module- named-numpy-distutils-core-ubuntu-xgboost-installation/35493714#35493714

В любом случае, большое спасибо за вашу помощь, ребята: @brickerino @phunterlau

Рад, что pip install xgboost помогли :-)

Если pip install xgboost у вас не работает, эту проблему также можно решить, выполнив

sudo -s
python setup.py install 

Проблема в том, что sudo python будет использовать системный 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, Резюме для Ubuntu, anaconda 2:

  1. http://xgboost.readthedocs.io/en/latest/build.html
  2. sudo -s
    установка python setup.py
    вместо того
    cd python-package; sudo python setup.py установить

@ knguyen0105 , большое спасибо

Была ли эта страница полезной?
0 / 5 - 0 рейтинги