2015-05-21 2 views
2

Я пытаюсь установить python-igraph из командной строки. Я создал новый экземпляр Ubuntu на сервере AWS, поэтому мне нужно сделать все из командной строки. Вот то, что я сделал из свежей установки Ubuntu:Ошибка установки python-igraph на Ubuntu (из командной строки)

$sudo apt-get update 
$sudo apt-get install build-essential 
$sudo apt-get install python-dev 
$sudo apt-get update 
$sudo apt-get install python-pip 
$sudo apt-get update 
$sudo pip install python-igraph 

Я получаю следующее сообщение об ошибке:

Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/python-igraph/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-XxxMbQ-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/python-igraph 
Traceback (most recent call last): 
File "/usr/bin/pip", line 9, in <module> 
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')() 
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 235, in main 
return command.main(cmd_args) 
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main 
text = '\n'.join(complete_log) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 32: ordinal not in range(128) 
+0

http://igraph.wikidot.com/installing-python- igraph-on-linux # toc0 попробуйте другие опции. Установите вручную – Ajay

ответ

0

Чтобы установить pyhton-igraph на Ubuntu попробовать следующие шаги:

  1. sudo add-apt-repository ppa: igraph/ppa
  2. sudo apt-get update
  3. sudo apt-get install pyt hon-igraph

p.s Пакет python-igraph не доступен для версии 12.04.

+2

Я боролся с установкой igraph на Ubuntu 12.04 весь день, используя пип. Просто попробовал «apt-get install python-igraph», и он не установил никаких проблем. Не совсем понятно, почему pip не работает. Кто-то еще может перезвонить. –

1

Это, как представляется, по крайней мере, частично исходя из pip - что-то пойдет не так во время pip install python-igraph, возбуждается исключение, pip ловит исключение и пытается сохранить вывод в файл журнала. К сожалению, не-ASCII-символ в выходе предотвращает запись pip в файл журнала, и это последнее исключение, которое вы видите (а не фактическая причина ошибки). В большинстве случаев символы, отличные от ASCII, исходят от имени вашего домашнего каталога или вашего рабочего каталога, поэтому сначала убедитесь, что в любом из них нет никаких символов, отличных от ASCII. Если это не работает, вы должны установить кодировку по умолчанию Python на utf-8, создав файл с именем sitecustomize.py где-то в пути Python и добавить этот код:

import sys 
sys.setdefaultencoding('utf-8') 

Это подскажет Python для кодирования операций ввода-вывода с кодировка UTF-8 вместо ASCII - надеюсь, это позволит pip завершить фазу регистрации, а затем вы можете посмотреть фактический вывод. Не забудьте удалить sitecustomize.py, когда закончите с отладкой.

+0

Эй, Тамас, какая разница между использованием 'pip' и' apt-get' для установки igraph? Проверьте мой комментарий к вышеприведенному ответу, я смог заставить 'apt-get' работать, но не смог с' pip'. Дайте мне знать и спасибо! –

+0

'apt-get install' просто загружает и копирует предварительно скомпилированную библиотеку igraph в соответствующее место в вашей системе. 'pip install' загружает исходный код и пытается скомпилировать его с нуля, хотя я попытался сделать его максимально автоматическим. Если у вас есть какое-то время, отправьте сообщение «pip install python-igraph» где-нибудь, чтобы я мог посмотреть на него и выяснить, что не так на вашей машине. –

+0

Спасибо @ Tamás См. Мой ответ за дополнительные сведения. – nealmcb

3

Я получил его работу над Ubuntu 14.04, внутри virtualenv. Было бы не просто установить пакет Ubuntu для python-igraph, так как мой virtualenv не включает пакеты сайтов, IIRC.

Благодаря полезному и обнадеживающему ответу от @ Tamás я вырыл еще немного, когда получил нечетный UnicodeDecodeError. Кажется, реальная ошибка была

/usr/bin/ld: cannot find -lxml2 

, но это произошло после того, как около 13 000 строк вывода сборки, в котором много использования, казалось, были сделаны из -lxml2 успешно. Странный.

Но на основе некоторых рекомендаций по

http://igraph.wikidot.com/installing-python-igraph-on-linux#toc0

Я установил некоторые библиотеки:

sudo aptitude install build-essential libxml2-dev libglpk-dev libgmp3-dev libblas-dev liblapack-dev libarpack2-dev python-dev 

мне сказали: будет установлен

Следующие НОВЫЕ пакеты: libarpack2- dev libbtf1.2.0 {a} libcsparse3.1.2 {a} libcxsparse3.1.2 {a} libglpk-dev libgmp-dev {a} libgmp3-dev libgmpxx4ldbl {a} libklu1.2.1 {a} libldl2.1.0 {a} libspqr1.3.1 {a} libsuitesparse-dev {a} libxml2-dev

После этого удался pip install python-igraph. Я сохранил весь результат в обоих случаях, если кто-то может использовать это, чтобы исправить проблемы с упаковкой и помочь сделать это более надежным.

Bonus tip: Далее я не мог понять, как получить привязки python cairo, так как документация по играм не говорила о установке Linux для привязок к cairo, и сама по себе я получал эту ошибку, которая привела меня на разочарование и неудачной погоне за своей собственной:

Could not find any downloads that satisfy the requirement pycairo 
Some externally hosted files were ignored (use --allow-external pycairo to allow). 

решение было использовать более позднюю набор привязок:

pip install cairocffi 
+1

О, большое спасибо @Nealmcb Я думаю, что это было нелегкое отладка! – user305883

Смежные вопросы