[python] установка модулей
$ 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 наверно у тебя или ещё более раннее.
У меня-то? У меня 2.7
упс. у тс конечно.
Рута нету, да и вообще большой кошерности не надо, как раз напротив, надо заставить работать как можно быстрее.
Только 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
Какой-то у тебя странный питонhttp://supercomputer.susu.ru/computers/skif_avrora/
Ладно, т.е. мне надо найти distutils от 2.6 питона и скопировать куда-нибудь в PYTHONPATH? дальше попробовать поставить setuptools?
http://docs.python.org/install/index.html — тут ответов нет?
Но мне вон в приватах помог, я смог-таки решить проблему с 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, интересно, почему он вообще смог скомпилить этот тест, а только слинковать не смог.
Похоже, что на этом скифе стоит не-девелоперская версия питона.
Есть тут какие-нибудь идеи?
Задолбаешся -dev ставить туда
какие расширения? Мне нужны includЫ и понять, почему он не находит libpython. Хотя это уже вопрос к autoconf'у похоже (второе).
python-dev в основном нужен для них, посему у меня есть предположение что тебе они и нужны
Есть еще вероятность что пытается заембедить питон, но это уже более редкий случай
Вообще, чтоб не гадать, что компилируешь?
Есть еще вероятность что пытается заембедить питон, но это уже более редкий случайТам некая хреновина, которая из кода на C++ подгружает питон, заставляет его выполнять какие-то вызовы обратно в C++-код (по крайней мере питоновский код подгружает so'шки, в которых есть undefined символы, описанные в основном executable типа того. Мало информации? Я сам там не разобрался толком.
Но в любом случае может прокатить собрать у себя и забросить туда уже готовое
Вроде работает.
Оставить комментарий
Serab
Я вот не питон-разраб, но есть вот проект, которому требуется питон../configure пишет, что отсутствует модуль distutils. Как мне без рута сделать так, чтобы он его подхватил? Желательно, конечно, не ставить свой питон с блэкджэком и шлюхами, а просто положить этот модуль (где его кстати взять отдельно от мух?) в какое-нибудь место, где питон (и autoconf) его найдет.
Помогите, плз!