从父包导入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。终于回答了我的问题!