Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2010 12:19:29

dmnBrest
От:
Зарегистрирован: 2010-08-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

easy_install и ошибка с __getstate__

Столкнулся с проблемой установки пакетов python с помощью easy_install

при установки большинства пакетов выдает ошибку об отсутствии атрибута __getstate__

проблема была решена комментированием строк
pr_state = pkg_resources.__getstate__()
и
pkg_resources.__setstate__(pr_state)
в файле
sandbox.py пакета setuptools

Кто сталкивался с такой проблемой и вся эта куча английских букав не кажется пустой прошу разъяснить данную ситуацию



Офлайн

#2 Авг. 5, 2010 13:01:12

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

easy_install и ошибка с __getstate__

Не сталкивался.
Имеет смысл попробовать обновить setuptools (у меня 0.6c11 для python2.5 и python2.6).

..bw



Офлайн

#3 Авг. 5, 2010 15:17:01

dmnBrest
От:
Зарегистрирован: 2010-08-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

easy_install и ошибка с __getstate__

bw спасибо за совет.
Дело в том, что я в python совсем недавно и знания у меня чисто теоретические. Коснулся практики и понял, что здесь слишком много подводных камней о которых совсем мало информации в инете.

В общем этим подводным камнем стал пакет setuptools с порядок его работы с пакетами модулей.
В папке site-packages у меня оказались нормальная папка с setuptools и аналогичный пакет setuptools но более старой версии в формате egg. Вот это самое яйцо я удалил. Вроде все заработало.

А вообще работа самого python'a с этими яйцами до конца не понята. Я так понял модули импортируются прямо из них???



Офлайн

#4 Авг. 5, 2010 15:30:30

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

easy_install и ошибка с __getstate__

> здесь слишком много подводных камней
Не здесь, везде, чем бы не занимался.

> В папке site-packages у меня оказались нормальная папка с setuptools и аналогичный пакет setuptools но более старой версии в формате egg.
Первый, надо полагать, установлен из пакета дистрибутива Linux (Debian/Ubuntu?). Какие лучше пакеты ставить, дистрибутивные или яичные (easy_install и pip, setuptools и distribute), не скажу, по ситуации. Я бы ставил только ОСевые, но, во первых, не все имеются, а во вторых, при попытке установки яичных и подтягивании зависимостей, ОСевые пропускаются (видимо из-за косяков майнтайнеров), а значит эти зависимости качаются из сети и дублируют уже существующие (установленные из репозитория дистрибутива Linux/BSD). почему нельзя полностью отказаться от дистрибутивных пакетов и пользоваться только яичными догадаться не сложно, они устанавливаются как зависимости для различного софта из репы ОС.

> Я так понял модули импортируются прямо из них???
Да. Это zip'ы или же просто директории.

..bw



Офлайн

#5 Авг. 5, 2010 16:00:47

dmnBrest
От:
Зарегистрирован: 2010-08-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

easy_install и ошибка с __getstate__

bw
> здесь слишком много подводных камней
Не здесь, везде, чем бы не занимался.
:) Нет!!! Я пришел с php и всего, что связано с web и, поверьте, никогда не испытывал проблемы с информацией. А начал изучать Питона и первый раз за все время начал читать документация на английском языке. Млин, тут с программированием мозг вывихнешь, а с английским еще и расплющишь. Люблю трудности, жаль только, что они тормозят прогресс. извините за офф.топ.

bw
> В папке site-packages у меня оказались нормальная папка с setuptools и аналогичный пакет setuptools но более старой версии в формате egg.
Первый, надо полагать, установлен из пакета дистрибутива Linux (Debian/Ubuntu?). Какие лучше пакеты ставить, дистрибутивные или яичные (easy_install и pip, setuptools и distribute), не скажу, по ситуации. Я бы ставил только ОСевые, но, во первых, не все имеются, а во вторых, при попытке установки яичных и подтягивании зависимостей, ОСевые пропускаются (видимо из-за косяков майнтайнеров), а значит эти зависимости качаются из сети и дублируют уже существующие (установленные из репозитория дистрибутива Linux/BSD). почему нельзя полностью отказаться от дистрибутивных пакетов и пользоваться только яичными догадаться не сложно, они устанавливаются как зависимости для различного софта из репы ОС.
+1 Уяснил для себя много нового! Проблема в том, что я на Windows работаю, а там про осевые/неосевые пакеты ничего неизвестно.
В моем случае скачал дистрибутив Питона (2.6) поставил и вперед косячить! До того, как познакомиться с setuptools и принципами установки пакетов я все делал вручную -> качал пакет + выбирал ручками из архива + сливал в папку lib + и дописывал файлик __init__ если его не было :)

СПАСИБО!!!! ЕСТЬ НА СВЕТЕ ДОБРЫЕ ЛЮДИ И ОНИ ПРОГРАММИРУЮТ НА ПИТОНЕ :)



Отредактировано (Авг. 5, 2010 16:07:13)

Офлайн

#6 Авг. 5, 2010 18:44:33

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

easy_install и ошибка с __getstate__

> До того, как познакомиться с setuptools и принципами установки пакетов я все делал вручную
Думаю так все делали.
Вы ещё не знаете, что такое virtualenv? Как же я вам завидую! М-м-м-м… virtualenv… :-).

..bw



Офлайн

#7 Авг. 5, 2010 22:36:21

dmnBrest
От:
Зарегистрирован: 2010-08-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

easy_install и ошибка с __getstate__

BW, думаете стоит проработать тему VIRTUALENV??? Где-то я это понятие встречал, но оно не привлекло мое внимание :(



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version