Принудительно импортировать модуль из стандартной библиотеки Python вместо PYTHONPATH по умолчанию - PullRequest
14 голосов
/ 01 июня 2010

У меня есть пользовательский модуль в одной из директорий в моей PYTHONPATH с тем же именем, что и у одного из модулей стандартной библиотеки, так что когда я import module_name, этот модуль загружается. Если я хочу использовать оригинальный модуль стандартной библиотеки, есть ли способ заставить Python импортировать из стандартной библиотеки, а не из каталога PYTHONPATH, если не считать переименования пользовательского модуля и изменения каждой ссылки для указания нового имени?

Ответы [ 3 ]

12 голосов
/ 01 июня 2010

Идеальным решением было бы переименовать ваш модуль во что-то, не входящее в стандартную библиотеку.

Вы также можете переключить абсолютный импорт на , если вы используете Python 2.5 +:

from __future__ import absolute_import
11 голосов
/ 02 июня 2010

Не.

Если вы случайно выбрали стандартное имя модуля библиотеки, измените имя модуля, чтобы завершить конфликт.

6 голосов
/ 01 июня 2010

Вы можете выбрать модуль, который хотите импортировать, с помощью модуля imp:

import imp
mymodule = imp.load_module(name, file, pathname, description) 
...