python:强制相对导入从脚本文件中搜索

时间:2011-08-25 17:34:52

标签: python import

这是我的目录结构:

scripts/
  bpydata/
  bpymodules/
  myCustomScripts/
     lib/
        __init__.py
        customLib.py
     plugin/
        __init__.py
        myParser.py
     __init__.py
     runner.py
  ...
  my_import_script.py
  ...

我从my_import_script开始,它将导入myCustomScripts包。

从那里,我导入跑步者,它将导入myParser。

myParser需要在customLib中定义的内容,因此它将使用相对导入来获取它

from .lib import customLib

但它不起作用,因为我从my_import_script开始,所以它将搜索其父目录,而不是搜索myParser的父目录。

当myParser想要​​.lib时,如何确保我从myParser的目录而不是my_import_script的目录中加强一个目录?

1 个答案:

答案 0 :(得分:2)

要从父包导入,请使用..。如果我没有误解你,这应该有效:

from ..lib import customLib

请参阅http://docs.python.org/tutorial/modules.html