EDIT листопада 2014 р. (3 роки потому):
Python 2.6 та 3.x підтримує належний відносний імпорт, де ви можете уникнути будь-чого хакі. За допомогою цього методу ви знаєте, що отримуєте відносний, а не абсолютний імпорт. ".." означає, перейдіть у каталог наді мною:
from ..Common import Common
Як застереження, це буде працювати лише в тому випадку, якщо ви запустите свій python як модуль, поза межами пакету. Наприклад:
python -m Proj
Оригінальний хакерський спосіб
Цей метод все ще часто використовується в деяких ситуаціях, коли ви насправді ніколи не «встановлюєте» свій пакет. Наприклад, він популярний серед користувачів Django.
Ви можете додати Common / до вашого sys.path (список шляхів, які python розглядає для імпорту речей):
import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'Common'))
import Common
os.path.dirname(__file__)
просто надає вам каталог, в якому знаходиться ваш поточний файл python, а потім ми переходимо до каталогу "Common /" та імпортуємо модуль "Common".