我有一个文件结构,如下所示,
MainFolder
__init__.py
FirstFolder
__init__.py
firstFile.py
SecondFolder
__init__.py
secondFile.py
在firstFile.py中,我有class
名为Math
,我想在secondFile.py中导入此类。
firstFile.py的代码
class Math(object):
def __init__(self, first_value, second_value):
self.first_value = first_value
self.second_value = second_value
def addition(self):
self.total_add_value = self.first_value + self.second_value
print(self.total_add_value)
def subtraction(self):
self.total_sub_value = self.first_value - self.second_value
print(self.total_sub_value)
secondFile.py的代码
from FirstFolder.firstFile import Math
Math(10, 2).addition()
Math(10, 2).subtraction()
当我尝试运行secondFile.py时出现此错误:ModuleNotFoundError: No module named 'First'
我正在使用Windows,而MainFolder位于我的C驱动器中C:\Users\Name\Documents\Python\MainFolder
下
我尝试过的可能的解决方案是,为所有主文件夹和子文件夹创建空__init__.py
,将MainFolder的目录添加到系统属性path
下的environment variable
并使用{{1 }& import sys
。
不幸的是,我发现的所有这些解决方案都无效。如果有人可以突出我的错误或建议其他解决方案,那将是伟大的。任何帮助将不胜感激!
答案 0 :(得分:0)
可能存在两个问题。第一个是你的import语句。 import语句应为
from FirstFolder.firstFile import Math
第二种可能是您的PYTHONPATH环境变量不包含您的MainFolder。
在基于linux和unix的系统上,您可以使用
在命令行上临时执行此操作export PYTHONPATH = $ PYTHONPATH:/ path / to / MainFolder
在Windows上
设置PYTHONPATH =“%path%; C:\ path \ to \ MainFolder”
如果要永久设置,请使用setx而不是set