可以说我在一个名为openid.py的文件中,我这样做:

from openid.consumer.discover import discover, DiscoveryFailure

我的pythonpath上有openid模块,但是解释器似乎正在尝试使用openid.py文件。如何获取库版本?

(当然,除了显而易见的“重命名文件”答案之外,其他方法都可以)。

最佳答案

这就是选择绝对导入作为新的默认行为的原因。但是,它们还不是2.6中的默认值(可能是2.7 ...)。您可以通过将来导入它们来获得它们的行为:

from __future__ import absolute_import

您可以在Nick提出的PEP或(更容易理解的)文档"What's New in Python 2.5"中找到有关此内容的更多信息。

关于python - Python:当它们命名相同时,如何选择要导入的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1259106/

10-15 11:05