Пожалуйста, рассмотрите возможность разделения имен файлов и кодов. И вам также нужно исправить некоторые отступы.
нь новичок в 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
файлы пропустили.
Очень печально, что что-то такое простое ... вызов вещей из какого-то файла, который существует где-то еще на моей машине ... требует таких больших усилий.