我正在编写一个小应用程序,我想创建一个包含一小类类的模块,但是当我尝试从主应用程序中导入类时,出现错误:
my_project python3 main.py
1
Traceback (most recent call last):
File "main.py", line 2, in <module>
import receivers
File "/home/mario/Documents/python/my_project/receivers/__init__.py", line 2, in <module>
from icinga import Icinga
ModuleNotFoundError: No module named 'icinga'
项目中的文件为:
├── main.py
└── receivers
├── icinga.py
├── __init__.py
其中main.py
#!/usr/bin/env python
import receivers
icinga = receivers.icinga.Icinga()
文件receivers/icinga.py
class Icinga:
def __init__(self):
print("I'm Icinga!")
文件receivers/__init__.py
print('1')
from icinga import Icinga
print('2')
有人可以告诉我我做错了什么吗?
预先感谢
答案 0 :(得分:0)
如果只想导入Icinga类,则可以按照
from receivers.icinga import Icinga
如果要在接收方上调用import语句,则应将第二行的 init .py更改为:
from .icinga import Icinga
我在这里重现了您的问题,并能够这样解决。
编辑:
第二件事(在__init__.py上),您可以在main.py上将其调用为:
import receivers
receivers.icinga.Icinga()