从父包导入python模块

从父包导入python模块,python,import,module,package,parent,Python,Import,Module,Package,Parent,我有以下目录结构 foo/ __init__.py settings.py bar/ __init__.py myfile.py 在myfile.py中,我有: 导入设置 我收到以下错误:导入错误:没有名为settings的模块,为什么?如何从以下位置有效导入设置文件: 希望能有所帮助这里有另一个更清晰的方法: 在foo.\uuuu init\uuuu.py中: __all__ = ['settings', ..(all other

我有以下目录结构

foo/
    __init__.py
    settings.py
    bar/
        __init__.py
        myfile.py
在myfile.py中,我有: 导入设置

我收到以下错误:
导入错误:没有名为settings的模块,为什么?如何从以下位置有效导入
设置
文件:


希望能有所帮助这里有另一个更清晰的方法:

foo.\uuuu init\uuuu.py
中:

  __all__ = ['settings', ..(all other modules at 'foo' level you want to show)...]
# instead of "from .. import..." 
  from foo import settings 
  print settings.theThing
myfile.py
中:

  __all__ = ['settings', ..(all other modules at 'foo' level you want to show)...]
# instead of "from .. import..." 
  from foo import settings 
  print settings.theThing

我试过了,但是我得到了ValueError:尝试在非-package@danielrvt:您是否正在以脚本形式运行
myfile.py
?Python并不真正支持包中的脚本(尽管它经常被请求)。在顶层创建一个导入
foo.bar.myfile
的助手脚本,您就可以完成所有设置了。是的,我正在以脚本的形式运行它,没有得到关于创建助手的部分script@danielrvt:将其放入foo的父目录中的脚本中:
from foo.bar.myfile import main;main()
(setuptools根据setup.py中指定的入口点自动生成类似的脚本)谢谢@Blckknght。终于回答了我的问题!