我的python项目有这个目录结构
├── main.py
└── util
├── color.py
├── __init__.py
└── student.py
main.py
是:
from util.student import fun
fun("calling fun from main")
color.py
是:
def color_fun(a):
print(a)
student.py
是:
from color import color_fun
def fun(var):
color_fun(var)
if __name__ == "__main__":
fun("calling fun from student")
__init__.py
是空的
当我尝试运行python3 student.py
时,它按预期工作。但是当我尝试运行python3 main.py
时它没有按预期工作,而它在python2中工作正常。
我想运行python3 student.py
以及python3 main.py
我怎么能实现这个目标?
您需要做的就是在student.py
中稍作修改
def fun(var):
color_fun(var)
if __name__ == "__main__":
from color import color_fun
fun("calling fun from student")
else:
from util.color import color_fun
Python3的PYTHONPATH
导致了这个问题