在过去的几个月中,我遇到了一些python导入问题。他们花了我很多时间来定位,现在我想说清楚。
我有一个类似Django的项目:
-dir
-app1
fun1.py
util.py
-util
http.py
-app2
fun2.py
# fun1.py
from util.http import http_retry
# util.py
def other_funcs():
pass
# http.py
def http_retry:
pass
情况1:当我在python app1/fun1.py
中运行dir
时,我想导入dir/util/http.py
。但是,python导入了dir/app1/util.py
。我必须更改dir/app1/util.py
的文件名才能使其正常工作。
情况2:有时我想运行脚本而不是Django服务器。但是我必须添加
import sys
sys.path.add("/xxx/xxx/dir/")
使其正常工作。
让我更困惑的是,这两个错误有时都神秘地弹出了。有时在我的Mac /远程服务器上使用Django / script可以,但几周后出现问题。我搜索了一些有关python模块的博客。但是他们还不足以解决我的问题。