импортировать модули Python с тем же именем - PullRequest
6 голосов
/ 09 июля 2011

У меня есть несколько проектов на Python, и все они имеют пакет conf:

/some_folder/project_1/
  conf/
    __init__.py
    some_source_file.py

/another_folder/project_2/
  conf/
    __init__.py
    another_source_file.py

Для каждого проекта я создал файл .pth в папке site-packages со следующим содержимым:

.../site-packages/project_1.pth:
import sys; sys.path.append('/some_folder/project_1/')

.../site-packages/project_2.pth:
import sys; sys.path.append('/another_folder/project_2/')

Я могу получить доступ к модулям в /some_folder/project_1/:

import conf.some_source_file

но не модули в /another_folder/project_2/:

import conf.another_source_file
AttributeError: 'module' object has no attribute 'another_source_file'

Похоже, что python ищет только первый conf путь под любыми папками в sys.path. Есть ли способ это исправить?

1 Ответ

9 голосов
/ 09 июля 2011

Нет.Вам нужно будет либо переименовать один из них, либо превратить каталог проекта в пакет и импортировать через него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...