Как импортировать модуль python с тем же именем файла, которое уже импортировано? - PullRequest
4 голосов
/ 08 февраля 2011

У меня проблема с импортом модуля Python. Я установил django (это может быть любой другой модуль). Я использую этот модуль:

from django.template import Context
# other imports
# use Context

У меня в приложении есть папка с именем "утилиты". В этой папке я создал файл «django.py» - этот файл содержит некоторые функции для работы с django. Поэтому я импортирую django в свой модуль и получаю сообщение об ошибке: Файл "... \ utilities \ django.py", строка 1, в из контекста импорта django.template ImportError: Нет модуля с именем шаблона

Ответы [ 2 ]

9 голосов
/ 08 февраля 2011

Вам нужно будет включить абсолютный импорт вверху файла:

from __future__ import absolute_import

Затем вам придется конвертировать импорт в модуле в абсолютный или относительный импорт в зависимости от ситуации..

0 голосов
/ 08 февраля 2011

Используйте пространства имен, создайте __init__.py в вашем каталоге утилит, чтобы он был пакетным, а затем выполните import utilities.django.Кстати, это плохая практика, называть ваш модуль так же, как библиотеки std или имя пакета, который вы собираетесь использовать.Вы никогда не знаете, когда будете путать себя с тем, какой модуль использовать.

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