Простая установка для путей к библиотекам Python и Eclipse - PullRequest
1 голос
/ 02 марта 2011

Недавно я обнаружил об этом инструменте easy_install, который помогает мне легко устанавливать дополнительные модули Python.Проблема в том, что для каждого модуля создается дополнительная папка *.egg (иногда есть только файл яйца?) (Без источника?), И я не знаю, как настроить пути затмения.

По умолчанию явключили C:\Python26\Lib\site-packages, и этого достаточно, когда я устанавливаю модули Python из исходного кода ... но не тогда, когда я использую easy_intall

Например, django с easy_install находится в C:\Python26\Lib\site-packages\django-1.2.5-py2.6.egg\django и установлен из источника, он находится в C:\Python26\Lib\site-packages\django

На самом деле, когда я использую easy_install, все установленные модули работают без проблем, единственная проблема в том, что eclipse не может определить местонахождение источникаи выдает мне ложные неразрешенные ошибки импорта

Где я ошибаюсь?

Eclipse Setup

1 Ответ

2 голосов
/ 02 марта 2011

Я предполагаю, что Eclipse не ищет в файлах яйца источник.Яйца, как и jar-файлы в Java, являются просто zip-файлами кода Python с некоторыми включенными метаданными.

Вы также заметите, что в пакетах сайта у вас есть файлы easy-install.pth и setuptools.pth.Эти файлы анализируются python и используются для добавления других каталогов и файлов egg в ваш PYTHONPATH (import sys; sys.path), чтобы Python мог найти код в этих местах.Eclipse не считает эти импорты действительными, поскольку, скорее всего, он не настроен для учета pth-файлов.

Чтобы Eclipse распознал, что Django действительно установлен, вы можете попробовать удалить пакет django easy_installed ипереустановите его с помощью:

easy_install --always-unzip django

Таким образом, вместо установки сжатого файла яйца у вас будет обычный каталог с пакетом, который затмение должно открывать довольно легко.

В качестве альтернативы, в вашемНа приведенном выше снимке экрана видно, что вам может понадобиться явно добавить каждый файл яйца, который вы хотите использовать для затмения.

...