как установить pycairo для python 3 на Ubuntu 10.04

Я пытаюсь установить pycairo 1.10.0 для использования с моим настраиваемым python 3.1. Однако,

sudo /flower/bin/easy_install-3.1 pycairo 

с

 XXX@XXXX:/adventures$ sudo /flower/bin/easy_install-3.1 pycairo install_dir /flower/lib/python3.1/site-packages/ Searching for pycairo Reading http://pypi.python.org/simple/pycairo/ Reading http://cairographics.org/pycairo Best match: pycairo 1.10.0 Downloading http://cairographics.org/releases/pycairo-1.10.0.tar.bz2 Processing pycairo-1.10.0.tar.bz2 error: Couldn't find a setup script in /tmp/easy_install-zeG9HB/pycairo-1.10.0.tar.bz2 

и действительно, в указанной загрузке нет setup.py ; вместо этого INSTALL говорит:

 Install Procedure ----------------- $ ./waf --help # shows available waf options $ ./waf configure # use --prefix and --libdir if necessary # --prefix=/usr --libdir=/usr/lib64 for Fedora 64-bit $ ./waf build $ ./waf install Use $ python3 ./waf ... if you have python2 and python3 installed, and the default is python 2. Testing ------- See test/README 

я понимаю, что, говоря мне, что я должен

 sudo /flower/bin/python3.1 ./waf configure --prefix=/flower/pycairo/ 

или похожие; однако это приводит к следующей ошибке:

  ./options() Setting top to : /tmp/pycairo-1.10.0 Setting out to : /tmp/pycairo-1.10.0/build_directory ./configure() Checking for 'gcc' (c compiler) : ok Checking for program python : /usr/bin/python python executable '/usr/bin/python' different from sys.executable '/flower/bin/python3.1' Checking for python version : (2, 6, 5, 'final', 0) The python version is too old, expecting (3, 1, 0) 

поэтому я спустился в исходный код; по-видимому, нет способа рассказать об этом waf thingie, что целевая версия python – это просто та, которую она запускает сама по себе, поэтому я пошарил и добрался до этого:

 Checking for 'gcc' (c compiler) : ok Checking for program python : /usr/bin/python #############293 /flower/bin/python3.1 Checking for python version : (3, 1, 2, 'final', 0) Checking for library python3.1 in LIBDIR : yes Checking for program python3.1-config : not found Checking for program python-config-3.1 : not found Checking for header Python.h : Could not find the python development headers Checking for [] : not found The configuration failed 

У меня действительно есть файл /flower/bin/python3.1-config поэтому я не понимаю. код python, который делает все это, довольно сложно обрабатывать.

любые предложения, как продолжать? есть ли *.deb или аналогичный готовый для pycairo + python 3? не удалось найти.

3 Solutions collect form web for “как установить pycairo для python 3 на Ubuntu 10.04”

Посмотрев файл python.py в этом субдире, я решил попробовать установить среду var перед выполнением waf через python3:
export PYTHON = "python3"
А потом установка таинственно преуспела …

Я использую Ubuntu Karmic, но устанавливаю с python2.7, скомпилированным из исходного кода, так что это работа, которую я нашел в моем случае. Хотя это может быть полезно, но, пожалуйста, будьте осторожны.

Я нашел некоторые темы обсуждения, которые имеют схожие проблемы установки здесь

Хотя это не та же версия python, есть несколько флагов, которые вы можете установить для waf.

Я прошел мимо этой части Python.h после использования следующей команды

 LDFLAGS="-lm -ldl -lutil" ./waf configure 

Поскольку я скомпилирован из исходного python2.7, мне нужно перенаправить пути с помощью CFLAGS. Последняя команда выглядит так:

 CFLAGS="-l/usr/local/include/python2.7 -l/usr/local/bin" LDFLAGS="-lm -ldl -lutil" ./waf configure 

Я не знаю, как работают LDFLAGS, поэтому используйте с осторожностью.

Альтернативно (опасный метод), если вы не хотите устанавливать CFLAGS, я сделал некоторую символическую перестановку в /local/bin python на мой python2.7, то же самое с python-config на python2.7- config (если вы установили из диспетчера пакетов, вам может и не понадобиться)

Очевидно, это ошибка в установщике pycairo, где он пытается выяснить, где находится Python exe (когда ему нужно просто использовать Python exe, с которым он работает).

Я попытался найти его, но этот код использует свою собственную полностью настраиваемую систему сборки (это не так), и код выложен очень странным образом, удивительно с основными частями скрытого кода (!) В каталоге, называемом .waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6 и написано в одном из самых нечитаемых кода Python, которые я когда-либо видел. Таким образом, мне понадобилось бы несколько часов, чтобы понять этот код и помочь вам с тем, что, вероятно, является тривиальной ошибкой.

Если вам действительно нужна эта библиотека, я предлагаю вам связаться с автором и попросить его красиво, если он сможет исправить ошибку.

Python - лучший язык программирования в мире.