我在python 3中有两个模块algorithm.py和main.py我正在尝试从算法将一个类导入main并将一个函数和一个变量导入算法。我的目录很简单,看起来像这样:
algorithm-animation-python ->
__init__.py (empty)
algorithms.py
main.py
尝试了多种解决方案但没有任何效果后,我收到了ModuleNotFoundError。
我尝试过的是: How to import the class within the same directory or sub directory?
Import a file from a subdirectory?
main.py
from .algorithms import Algorithm
from .main import number_list
from .main import canvas
运行完全错误时,我得到的是:
Traceback (most recent call last):
File "main.py", line 1, in <module>
from .algorithms import Algorithm
ModuleNotFoundError: No module named '__main__.algorithms'; '__main__' is not a package
并且没有。我收到错误消息:
Traceback (most recent call last):
File "main.py", line 1, in <module>
from algorithms import Algorithm
File "C:\Users\user\Documents\GitHub\algorithm-animation-python\algorithms.py", line 1, in <module>
from main import number_list
File "C:\Users\user\Documents\GitHub\algorithm-animation-python\main.py", line 1, in <module>
from algorithms import Algorithm
ImportError: cannot import name 'Algorithm' from 'algorithms' (C:\Users\user\Documents\GitHub\algorithm-animation-python\algorithms.py)
答案 0 :(得分:-1)
嗯。从来没有尝试过和初学者,所以这可能不起作用,但尝试
from .main import canvas and number_list
或者如果您使用的是旧版本
from .main import canvas && number_list
此外,如果您想要该模块中的所有功能,请尝试
from .main import *
请注意,由于我是初学者,因此这些功能可能不起作用