[python] установка модулей
Модуль distutils по идее должен вместе с самим питоном поставиться - это стандартный модуль.
набери в консольке python и в интерактивном режиме выполни 'import distutils'
Если не выдаст exception, значит он есть.
$ equery belongs /usr/lib/python2.7/distutils/__init__.py
* Searching for /usr/lib/python2.7/distutils/__init__.py ...
dev-lang/python-2.7.1-r1 (/usr/lib/python2.7/distutils/__init__.py)
набери в консольке python и в интерактивном режиме выполни 'import distutils'
Если не выдаст exception, значит он есть.
А вообще для установки всяких модулей, не входящих в дефолтную поставку, есть pypi (python package index это типа репозитория. Через easy_install или pip можно оттуда ставить. Только если это делать под рутом - это замусоривать систему в обход пакетного менеджера, либо ставить в префикс и добавлять его в PYTHONPATH, либо в virtualenv. Самым кошерным способом в случае gentoo будет установить из оверлея python g-pypi и генерить с помощью него ebuildы для любого пакета в pypi и уже ставить из них.
набери
python -V
для начала
2.5 наверно у тебя или ещё более раннее.
python -V
для начала
2.5 наверно у тебя или ещё более раннее.
У меня-то?
У меня 2.7
У меня 2.7упс. у тс конечно.
python 2.6.6, вообще основная версия, под которой это все дело отлаживалось (не мной
)
Рута нету, да и вообще большой кошерности не надо, как раз напротив, надо заставить работать как можно быстрее.
)Рута нету, да и вообще большой кошерности не надо, как раз напротив, надо заставить работать как можно быстрее.
Тогда easy_install --prefix
Только distutils там нет, это стандартный модуль.
Только distutils там нет, это стандартный модуль.
sh setuptools-0.6c11-py2.6.egg --prefix=~
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/frolovas/setuptools-0.6c11-py2.6.egg/setuptools/__init__.py", line 2, in <module>
File "/home/frolovas/setuptools-0.6c11-py2.6.egg/setuptools/extension.py", line 1, in <module>
ImportError: No module named distutils.core

отсутствует модуль distutilsБывает и такое. Я решал это выдиранием distutils из аналогичной версии питона и установкой её в локальный PYTHONPATH через easy_install (pip тоже должен прокатить).
Правда, там еще немного пришлось подправить его, ибо многих других важных частей тоже не было.
Если нужно, могу попробовать найти то что делал.
Какой-то у тебя странный питон 
КЖ. Как же режут галаза белые картинки, когда тема везде тёмная...

КЖ. Как же режут галаза белые картинки, когда тема везде тёмная...
так там и easy_install нету, вон, чтобы его поставить, он просит distutils


так там и easy_install нетуСначала нету, ставится distutils в лоб, потом уже доставляется easy_install
а мне может кроме distutils и не надо ничего 
Ладно, т.е. мне надо найти distutils от 2.6 питона и скопировать куда-нибудь в PYTHONPATH? дальше попробовать поставить setuptools?

Ладно, т.е. мне надо найти distutils от 2.6 питона и скопировать куда-нибудь в PYTHONPATH? дальше попробовать поставить setuptools?
http://docs.python.org/install/index.html — тут ответов нет?
там про установку при помощи distutils, а у меня вариант какого-то урезанного питона, в котором нету distutils.
Но мне вон в приватах помог, я смог-таки решить проблему с distutils. Но теперь новый косяк.
./configure пишет:
в /usr/lib64 есть только libpython2.6.so.1.0
Я предположил, что он хочет имя по дефолту и сделал у себя в ~/python/lib симлинк ln -s /usr/lib/libpython2.6.so.1.0 libpython2.6.so, передал ему LDFLAGS как он и просит, та же фигня.
Еще заметил, что в /usr/include нету-таки каталога python2.6 и вообще ничего про python, интересно, почему он вообще смог скомпилить этот тест, а только слинковать не смог.
Похоже, что на этом скифе стоит не-девелоперская версия питона.
Есть тут какие-нибудь идеи?
Но мне вон в приватах помог, я смог-таки решить проблему с distutils. Но теперь новый косяк.
./configure пишет:
checking for a Python interpreter with version >= 2.3... python
checking for python... /usr/bin/python
checking for python version... 2.6
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.6/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.6/site-packages
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python2.6
checking for Python library path... -L/usr/lib64 -lpython2.6
checking for Python site-packages path... /usr/lib/python2.6/site-packages
checking python extra libraries... -lpthread -ldl -lutil
checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
checking consistency of all components of python development environment... no
configure: error:
Could not link test program to Python. Maybe the main Python library has been
installed in some non-standard library path. If so, pass it to configure,
via the LDFLAGS environment variable.
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
============================================================================
ERROR!
You probably have to install the development version of the Python package
for your distribution. The exact name of this package varies among them.
============================================================================
в /usr/lib64 есть только libpython2.6.so.1.0
Я предположил, что он хочет имя по дефолту и сделал у себя в ~/python/lib симлинк ln -s /usr/lib/libpython2.6.so.1.0 libpython2.6.so, передал ему LDFLAGS как он и просит, та же фигня.
Еще заметил, что в /usr/include нету-таки каталога python2.6 и вообще ничего про python, интересно, почему он вообще смог скомпилить этот тест, а только слинковать не смог.
Похоже, что на этом скифе стоит не-девелоперская версия питона.
Есть тут какие-нибудь идеи?
Возьми у себя такую же версию петона, собери для неё расширения, закатай их в яйцо и поставь свежевыпеченным easy_install себе в ~/python.
Задолбаешся -dev ставить туда
Задолбаешся -dev ставить туда
какие расширения? Мне нужны includЫ и понять, почему он не находит libpython. Хотя это уже вопрос к autoconf'у похоже (второе).
Те, которые ты пытаешся скомпилировать.
python-dev в основном нужен для них, посему у меня есть предположение что тебе они и нужны
Есть еще вероятность что пытается заембедить питон, но это уже более редкий случай
Вообще, чтоб не гадать, что компилируешь?
python-dev в основном нужен для них, посему у меня есть предположение что тебе они и нужны
Есть еще вероятность что пытается заембедить питон, но это уже более редкий случай
Вообще, чтоб не гадать, что компилируешь?
Есть еще вероятность что пытается заембедить питон, но это уже более редкий случайТам некая хреновина, которая из кода на C++ подгружает питон, заставляет его выполнять какие-то вызовы обратно в C++-код (по крайней мере питоновский код подгружает so'шки, в которых есть undefined символы, описанные в основном executable типа того. Мало информации? Я сам там не разобрался толком.
Достаточно.
Но в любом случае может прокатить собрать у себя и забросить туда уже готовое
Но в любом случае может прокатить собрать у себя и забросить туда уже готовое
Забил нафиг на все, поставил свой питон 
Вроде работает.

Вроде работает.
Оставить комментарий

Serab
Я вот не питон-разраб, но есть вот проект, которому требуется питон../configure пишет, что отсутствует модуль distutils. Как мне без рута сделать так, чтобы он его подхватил? Желательно, конечно, не ставить свой питон с блэкджэком и шлюхами, а просто положить этот модуль (где его кстати взять отдельно от мух?) в какое-нибудь место, где питон (и autoconf) его найдет.
Помогите, плз!