«Перейти к определению» из PyDev не работает в файлах внешней библиотеки - PullRequest
0 голосов
/ 09 февраля 2012

Когда я нахожусь в определенных файлах, например, в файлах внешней библиотеки, я получаю такое поведение, когда команда «Перейти к определению» переключает меня на оператор импорта в верхней части файла вместо открытия файла с реальным определением.

Например, я нахожусь во внешней библиотеке (переместился сюда с помощью Go To Definition), и отсюда я снова хочу прыгнуть, поэтому я поместил курсор на оператор return на токене Something и нажал "Go К определению "...

from external.library.mod import Something
...
def scoped_session(arg):
    ...
    return Something(arg)

... что приводит меня к инструкции "from external.library.mod import Something" в верхней части файла. У меня есть пути и вложенные пути, определенные во внешних библиотеках для проекта.

Я ожидаю, что вместо этого откроется фактическое определение в данном пакете / файле вместо перехода к оператору импорта.


Ubuntu 11.10, Eclipse 3.7.1, PyDev 2.4.0, Python 2.7.2

Ответы [ 2 ]

0 голосов
/ 17 июня 2016

В Eclipse, для проекта Python;мы можем перейти к соответствующим модулям (исходный файл) и методу (определение функции).Для этого нам нужно добавить пакеты в PyDev - PYTHONPATH .

Проект -> Свойства -> PyDev - PYTHONPATH -> Добавить исходную папку Просмотреть конкретный пакет(исходная папка) из проекта

После этого просто нажмите на поисковом слове, которое вы хотите найти, и нажмите F3 .В противном случае нажмите клавишу Ctrl и нажмите на ключевом слове поиска.

Примечание. Лучше один раз перезапустить Eclipse.

Add Source Folder to PythonPath

0 голосов
/ 11 апреля 2012

Перейти в «Настройки» -> PyDev -> «Интерпретатор» (в зависимости от того, что)

Когда вы сначала настраиваете PyDev, он сканирует ваши системные папки на наличие модулей (и в некоторых случаях я думаю, что он спросит, хотите ли вы сканировать «все» или нет ...), если библиотеки, которые вы хотите установить, были установлены после того, как вы настроили ваш интерпретатор, PyDev может просто не знать о них.

Самый быстрый способ сделать это - выбрать все библиотеки в site-packages, удалить их, а затем повторно добавить каталог site-packages, чтобы он все заново сканировал.

В качестве альтернативы, просто удалите конфигурацию для вашего двоичного файла python и повторно инициализируйте ваш интерпретатор.

...