Просмотр кода в файлах яиц Python в PyDev

Одной из приятных особенностей работы в Eclipse с PyDev является то, что, нажав F3, вы можете просмотреть практически все. Однако, если используемый вами пакет содержится в яйце Python, это не сработает.

Можно ли заставить его работать?
Если нет, получится ли извлечь содержимое яйца в site-packages и удалить яйцо? Не будут ли потеряны некоторые метаданные?


person Jonathan    schedule 30.08.2011    source источник
comment
Яйцо - это zip-архив. Почему бы просто не открыть его?   -  person S.Lott    schedule 30.08.2011
comment
@ S.Lott - Если ты хочешь просто посмотреть - да, но это менее удобно, чем F3ing. Это становится утомительно, если вам нужно перебрать много яиц   -  person Jonathan    schedule 30.08.2011
comment
@ S.Lott - Если вы имеете в виду, что я могу извлечь его в site-packages, а затем удалить яйцо, и все будет работать нормально - вот о чем я спрашиваю ...   -  person Jonathan    schedule 30.08.2011
comment
Для меня оба комментария не имеют смысла. Пожалуйста, обновите свой вопрос, чтобы указать, что вы не можете сделать. Я не понимаю, какая у вас проблема. Пожалуйста, обновите вопрос. Пожалуйста, избегайте добавления большого количества комментариев к вопросу, который принадлежит вам и который вы можете изменить, чтобы сделать его ясным и полным.   -  person S.Lott    schedule 30.08.2011


Ответы (2)


На самом деле, то, что вы говорите, должно работать (то есть: выполнение F3 для ссылки на файл в zip-архиве должно правильно открыть файл).

Итак, на самом деле это была довольно критическая ошибка при работе с zip-файлами в PyDev (которую я только что исправил и уже доступен в текущей ночной сборке - она ​​будет выпущена для PyDev 2.2.3).

Чтобы получить ночную сборку, см. Инструкции по адресу: http://pydev.org/download.html

person Fabio Zadrozny    schedule 31.08.2011

Вы можете разархивировать содержимое яйца в site-packages, и все заработает.

person Eli Bendersky    schedule 30.08.2011
comment
И удалить яйцо? Итак ... метаданные яйца (в частности, зависимости пакета) не важны для использования пакета? - person Jonathan; 30.08.2011
comment
@Jonathan: это не важно для использования пакета, правда. Об этих метаданных знает setuptools, а не механизм импорта CPython. OTOH, если вы хотите установить другие пакеты, зависящие от этого, могут потребоваться метаданные. В любом случае вы можете настроить файлы .pth так, чтобы разархивированное яйцо находилось раньше настоящего яйца, и сохранить настоящее яйцо живым, чтобы инструменты настройки могли работать с его зависимостями. - person Eli Bendersky; 30.08.2011
comment
последний вопрос: если я оставлю их обоих, не столкнусь ли я с этой проблемой ? - person Jonathan; 30.08.2011
comment
@Jonathan: Я думаю, вы можете правильно настроить файлы .pth, чтобы они работали. AFAIK setuptools нуждается только в том, чтобы яйцо находилось в ожидаемом месте, не обязательно его можно обнаружить с помощью import. Проверьте это на простом примере - person Eli Bendersky; 30.08.2011