У меня странная проблема с импортом модуля. У меня есть настройка virtualenv, и один модуль доступен в {env}/lib/python2.6/site-packages/pkgname
. Файл __init__.py
и pkgname.py
внутри.
Теперь, если я запускаю {env}/bin/python
и выполняю import pkgname.pkgname
, все работает просто отлично. Но если я создам скрипт в {env}/bin/pkgname.py
с содержимым:
#!{env}/bin/python
import pkgname.pkgname
if __name__ == "__main__":
pkgname.pkgname.run()
не удается снова импортировать один и тот же файл (поскольку пакет и файл имеют одно и то же имя). Как я могу отключить поиск в том же каталоге? Или как заставить импорт сначала посмотреть на глобальные пакеты?
В качестве альтернативы, каков «правильный» способ сделать это? Просто для согласованности, я бы предпочел, чтобы мой скрипт запуска был таким же, как и сам пакет, который он пытается запустить.