Python:如何在命名相同的模块时选择要导入的模块

Pau*_*jan 6 python import namespaces

假设我在一个名为的文件中openid.py,我这样做:

from openid.consumer.discover import discover, DiscoveryFailure
Run Code Online (Sandbox Code Playgroud)

我的openidpythonpath上有模块但是解释器似乎试图使用我的openid.py文件.我怎样才能获得库版本?

(当然,除了明显的'重命名你的文件'答案之外的其他东西会很好).

c08*_*089 9

这就是绝对导入被选为新的默认行为的原因.但是,它们还不是2.6中的默认值(可能在2.7 ......).您现在可以通过从以后导入它们来获取它们的行为:

from __future__ import absolute_import
Run Code Online (Sandbox Code Playgroud)

您可以在Nick的PEP中找到更多相关信息,或者在"Python 2.5中的新功能"文档中(我认为更容易理解).