2015-06-11 4 views
0

Как использовать «относительный статический» путь в моем импорте путиимени приложения в пути импорта питона

Например, если у меня есть приложение под названием ASDF, со следующей директорией

asdf/ 
+- asdf/ 
| +- main.py 
| +- config.py 
+- tests/ 
etc. 

В настоящее время я в моем main.py ...

from config import Config 

Я хочу, чтобы иметь возможность использовать ...

from asdf.config import Config 

Причина в том, что модули перемещаются, поскольку проект все еще находится в зачаточном состоянии, относительно говоря. (Не каламбур)

+1

Не могли бы вы пояснить, что вы имели в виду под именем 'asdf.config'? Если вы хотите, чтобы вы переместили' config.py' в другую папку 'asdf' – nehemiah

ответ

1

Вы можете легко найти обходной путь эту проблему. Но наличие модулей/папок с тем же именем, что и его родитель, всегда вызывает проблемы, особенно когда родительский и дочерний модули находятся в пути python. Поскольку django1.6, django также так же именет папку проекта и внутреннюю папку, что вызывает много проблем, особенно при тестировании.

Так как в норме старайтесь избегать именования модулей, подобных родителям.

0
asdf/ 
+- asdf/ 
| +- asdf/ 
|  config.py 
| +- main.py 
+- tests/ 
etc. 

, если у вас есть эта структура каталогов, то вы можете импортировать метод Config из config.py в main.py с помощью этого from asdf.config import Config

0

Я нашел ответ (или, возможно, обходной путь).

Если я «скомпилирую» его с помощью setuptools, он будет работать.

Смежные вопросы