3

我的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.pypython3 main.py我怎么能做到这一点?

4

1 回答 1

0

您需要做的就是在您的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

for Python3PYTHONPATH导致问题

于 2018-09-04T06:53:40.943 回答