我正在尝试构建一个Python项目,当前模块的名称(让我们称之为电子邮件)与标准库中的模块名称相同。我需要从标准库导入,但是我尝试从库中导入时出错。
示例:
Project/
email.py
# email.py script
import email
# do something with the standard email library.
有什么方法可以保留我的模块email.py的名称,还是更改它的最佳选择?我做了一些研究,他们似乎更多地关注这样的案例:
Project/
main.py # Current module
email.py
答案 0 :(得分:2)
首先,创建一个影响另一个模块的模块是不好的做法。但是,这并不妨碍您继续进行。
导入__future__ import absolute_import
作为main
文件中的第一次导入。
这会强制导入使用绝对路径而不是相对路径。现在,import email
导入该标准库。您可以按from . import email
答案 1 :(得分:1)
您最好的选择是更改自己的模块名称。在Python中,冲突的名字总是很糟糕!
有一次我因为有一个名为code.py