简体   繁体   English

Python 和 package 同名时导入错误

[英]Import error when Python and package have same name

I have a package called mango , containing mango.py as follows:我有一个名为mango的 package ,其中包含mango.py如下:

class Mango:
    def __init__(self):
        print("mango object")

as well as test_mango.py , as follows:以及test_mango.py ,如下:

from mango.mango import Mango
m = Mango()

When I run test_mango.py, I get this error:当我运行 test_mango.py 时,我收到此错误:

    from mango.mango import Mango
    ModuleNotFoundError: No module named 'mango.mango'; 'mango' is not a package

If I change mango.py 's filename to mango_main.py and import, it works.如果我将mango.py的文件名更改为mango_main.py并导入,它可以工作。 Why does the error with mango.mango occur?为什么会出现mango.mango的错误?

The simplest solution will be to change your code to:最简单的解决方案是将您的代码更改为:

from mango import Mango

as DeepSpace suggested.正如DeepSpace 所建议的那样。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM