强制从Python标准库导入模块,而非PYTHONPATH默认值

16 投票
3 回答
7692 浏览
提问于 2025-04-15 23:25

我在PYTHONPATH的一个目录里有一个自定义模块,它的名字和标准库里的一个模块是一样的。所以当我用import module_name的时候,加载的是我的那个模块。如果我想使用原来的标准库模块,有没有办法强制Python从标准库里导入,而不是从PYTHONPATH目录里导入呢?除了重命名我的自定义模块并且修改所有引用到新名字的地方?

3 个回答

7

你可以使用imp模块来选择你想要导入的模块:

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

别这样。

如果你不小心用了一个和标准库模块同名的名字,赶紧改一下你的模块名字,避免冲突。

12

最好的办法是把你的模块改个名字,确保它不是标准库里的名字。

如果你使用的是Python 2.5或更高版本,你还可以开启绝对导入

from __future__ import absolute_import

撰写回答