python找不到神秘的导入模块

时间:2019-12-31 03:22:24

标签: python module

在过去的几个月中,我遇到了一些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模块的博客。但是他们还不足以解决我的问题。

0 个答案:

没有答案