Я новичок в PyDev и Python, хотя много использовал Eclipse для Java. Я пытаюсь проработать некоторые из примеров Dive Into Python, и это кажется чрезвычайно тривиальной проблемой, которая становится чрезвычайно раздражающей. Я использую Ubuntu Linux 10.04.
Я хочу иметь возможность использовать файл odbchelper.py, который находится в каталоге /Desktop/Python_Tutorials/diveintopython/py
Вот мой файл example.py, над которым я работаю в своем проекте PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Это отлично работает, но тогда я хочу, чтобы следующая строка моего кода была:
import odbchelper
и это каждый раз вызывает неразрешенную ошибку импорта. Я добавил __init__.py
файлы почти в каждый возможный каталог, и это ни к чему не помогает. Я пробовал добавлять __init__.py
файлы по одному на разные уровни каталогов между местоположением проекта и файлом odbchelper.py, а также пытался одновременно добавлять __init__.py
файлы во все каталоги между ними. Ни то, ни другое не работает.
Все, что я хочу сделать, это создать проект где-нибудь в другом каталоге, скажем /Desktop/MyStuff/Project
, в котором у меня есть example.py ... а затем из example.py я хочу импортировать odbchelper.py из/Desktop/Python_Tutorials/diveintopython/py/
В каждом ответе на доске сообщений я могу найти просто предложение использовать sys.path.append()
функцию для добавления этого каталога к моему пути, а затем его импорта ... но это именно то, что я делаю в своем коде, и он не работает.
Я также попробовал Ctrl- 1трюк , чтобы подавить сообщение об ошибке, но программа все еще не функционирует правильно. Я получаю сообщение об ошибке ImportError: No module named odbchelper
. Таким образом, очевидно, что путь не добавляется, или есть какая-то проблема, которую __init__.py
пропустили все мои многочисленные перестановки добавления файлов.
Очень неприятно, что что-то такое простое ... вызов чего-либо из файла, который существует где-то еще на моей машине ... требует таких больших усилий.
grp
модуля. Я просто добавил его в builtins
список в Preferences> PyDev> Interpreters> Python> Forced Builtins и по-прежнему получаю автозаполнение для этого модуля