我的项目结构是这样的
pythonProject
|
|-__init__.py
|
|- a
| |- file_a.py
| |-__init__.py
|
|- b
|- file_b.py
|-__init__.py
我还在下面附上了我的项目结构的图片。
我的
file_a.py
看起来像:
class class_a:
def __init__(self):
pass
def show(self):
print('class A')
if __name__ == "__main__":
pass
我的
file_b.py
看起来像:
from pythonProject.a.file_a import class_a
class class_b:
def __init__(self):
pass
def show(self):
a = class_a()
a.show()
if __name__ == "__main__":
b = class_b()
但我一直收到错误消息
No module named 'pythonProject'
。所有文件夹都有__init__.py
文件。我做错了什么?
在终端上,我从 pythonProject 中运行命令
python b/file_b.py
。
此外,我不想使用 sys 库添加项目路径。
谢谢。
我试过的东西。
__init__.py
文件。但是它们都是空的。他们应该有任何具体的参考资料吗?..a.file_a import class_a
。然后我得到错误:ImportError: attempted relative import with no known parent package
a.file_a import class_a
,但错误是ModuleNotFoundError: No module named 'a'
。我认为问题似乎出在文件
if __name__ == "main"
和a.py
中的b.py
条件。而不是"main",
正确的字符串是"__main__"
(每边双下划线)
将两个文件中的条件更改为
if __name__ == "__main__":
并尝试再次运行文件b.py
。这应该可以解决错误
没有名为“pythonProject”的模块。
在导入方面,您可以使用文件中的绝对导入语法
a.py
从文件
b.py
导入类a
from pythonProject.a.file_a import class_a
只要您从
b.py
目录中运行文件 pythonProject
,这应该可以工作。