странный глюк easy_install
rudenkovk 7 октября, 2009 - 11:51
Коллеги, всем привет!
Имею свежеустановленную дженту, прошедшую emerge world -uDpv. Цель системы: веб-сервак, мониторинг, ну и немного скрипты и тестирование разработок.
Джента по умолчанию поставила два питона
eselect python list Available python interpreters: [1] python2.6 * [2] python3.1
Соответственно используем по дефолту 2,6.
далее пытаемся сделать, скажем # easy_install django
и получаем:
# easy_install django Searching for django Reading http://pypi.python.org/simple/django/ Reading http://www.djangoproject.com/ Reading http://www.djangoproject.com/download/1.0.1-beta-1/tarball/ Best match: Django 1.1 Downloading http://media.djangoproject.com/releases/1.1/Django-1.1.tar.gz Processing Django-1.1.tar.gz Running Django-1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-L30nZP/Django-1.1/egg-dist-tmp-hl1ey4 Traceback (most recent call last): File "/usr/bin/easy_install", line 8, in <module> load_entry_point('distribute==0.6.3', 'console_scripts', 'easy_install')() File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 1702, in main with_ei_usage(lambda: File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 1690, in with_ei_usage return f() File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 1706, in <lambda> distclass=DistributionWithoutHelpCommands, **kw File "/usr/lib/python3.1/distutils/core.py", line 149, in setup dist.run_commands() File "/usr/lib/python3.1/distutils/dist.py", line 919, in run_commands self.run_command(cmd) File "/usr/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 236, in run self.easy_install(spec, not self.no_deps) File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 471, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 501, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 680, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 957, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python3.1/site-packages/setuptools/command/easy_install.py", line 946, in run_setup run_setup(setup_script, args) File "/usr/lib/python3.1/site-packages/setuptools/sandbox.py", line 30, in run_setup lambda: exec(compile(open( File "/usr/lib/python3.1/site-packages/setuptools/sandbox.py", line 71, in run return func() File "/usr/lib/python3.1/site-packages/setuptools/sandbox.py", line 32, in <lambda> ).read(), "setup.py", 'exec'), File "setup.py", line 70 if u'SVN' in version: ^ SyntaxError: invalid syntax
Получается юзается трешка питона...как с этим бороться я не понял совершенно...
дополнительно:
# /bin/env python Python 2.6.3 (r263:75183, Oct 4 2009, 22:12:39) [GCC 4.4.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
»
- Для комментирования войдите или зарегистрируйтесь
:)
А что в заголовке скрипта указано?
Вывод покажи.
Логично! :) # cat
Логично! :)
Но что странно, при установке setuptools:
Я полагал дальше идет запуск в зависимости от eselect python...
Соотв вопрос...как объяснить, что работать с 2.6?
:)
Тебе в системе нужен python3.1?
Если нет - удали его совсем, только перед удалением
запусти
и внимательно вдумчиво почитай о его применении.
Если не секрет - чем обусловлен выбор нестабильной ветки (~x86)
для сервака?
хм...питон трешку бы я
хм...питон трешку бы я оставил, ибо есть вещи, которые на ней хотелось бы обкатать...
выбор ~x86...ну во-первых я давно не джентил, в основном дебианил, так что времени собирать свое и оптимизировать пока не было, а так же вспомнитать...
А во-вторых, достаточно старое железо...какой-то из первых четвертых пней. Сервак - громко сказано если смотреть объективно.
эээ. night@nord ~ % eix
эээ.
Я не очень уверен в происхождении
easy_install
, но не ересь №14443 ли это?именно это оно и есть.
именно это оно и есть.
нет. оверлеи и ручная сборка
нет.
оверлеи и ручная сборка не использовалась.
rudenkovk
тоесть использование напрямую easy_install это не ручная сборка? или я чего-то не понял?
Или мы говорим о разном...или
Или мы говорим о разном...или я что-то не понимаю
easy_install - вполне стандартная для питона система управления пакетами. <азово она устанавливается из портежей (emerge setuptools). Собственно это надстройка над питновскими distutils.
далее, ею устанавливаются дополнения (модули, фреймворки и тд) уже для питона и его средствами. Причем тут ручная сборка чего-либо я не понял.
собственно rudenkovk
собственно
для питона она стандартная, а вот для gentoo - нет.
по уму если, дженте на это
по уму если, дженте на это должно быть глубоко на какать! Это не системная вещь, а прикладная.
А вот и нет. Вот то, что ты
А вот и нет. Вот то, что ты получил, получил из-за этого.
Не грусти, товарищ! Всё хорошо, beautiful good!
То есть получается, я должен
То есть получается, я должен использовать стандартный механизм дженты для установки модулей питона (то есть что, у нас по всему pypi.python.org есть свои портежи?! и кому надо их штамповать?!) не обращая внимания на версии, обновления и свои наработки?!
Если так, то мое мнение о дженте падает ниже плинтуса...ибо это бред и дурь!
Вы сильно удивитесь, но и во
Вы сильно удивитесь, но и во FreeBSD, и в CentOS, и в Debian всё аналогично. _ЕСЛИ_ расширение/плагин/модуль есть в репозитории системы, то и ставить его надо оттуда.
Не удивлюсь, но в 99% случаев
Не удивлюсь, но в 99% случаев все работает и через easy_install, а учитывая то, что системы на питоне пишутся кроссплатформенные, то и логично, что установка модулей идет через питоновскую систему управления пакетов(Пакетов для питона).
Если уж на то пошло, в репах любой системы если либо широко распространенные вещи, либо то, что требует компиляции (например питоновский враппер для сишной библиотеки). Логично, что такие пакеты есть в репах, так как админ может установить софтину, накатить то, что написали программеры и вуа ля, все пашет. Но тут получается косяк, если я на дженте собираю себе раб-станцию под разработку, то я не могу пользоваться в ней удобной мне (и фактически стандартной для разработчиков и IDE) системой управления пакетами Питона?!
Собственно топик из попытки поиска решения, начинает превращаться во флуд. Как админ я понимаю, все, что вы хотите донести, как разработчик нет.
PS Ни на Debian, ни на Ubuntu, ни на Fedora я не сталкивался с такой проблемой! Так же как все шарашило на HP-UX, AIX, Solaris, OpenBSD, FreeBSD.
PS Ни на Debian, ни на
Ни одна система из вышеупомянутых(за HP-UX && AIX не скажу) не является полноценной soursed-based системой в отличие от.
Так что ваш опыт в данном случае бесполезен и ,может быть, вреден.
По теме ебилдов: такому опытному человеку как Вы (судя по списку ОС) надо минут 20-30 на написание ебилда - это не так много .
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Ну снова мы о разном
Ну снова мы о разном говорим...:) Ну нафига мне писать ebuild, deb, rpm & etc? Это излишество...надо было бы мне распространять хотя бы на 10 систем, то написал бы.
Проблема решается, как оказывается, очень просто...
в /usr/bin есть
easy_install (заточен под 3 ветку питона)
easy_install-2.6
easy_install-3.1
Use LFS && Windows ,Luke.
Use LFS && Windows ,Luke.
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Если это происходит от имени
Если это происходит от имени юзера без админских прав и в его домашней папке, то действительно пофиг, а вот все операции с файлами получившимися в результате жизнедеятельности emerge, лучше проводить через него.