什么是__init__.py一个Python源目录?
任何人都可以解释,setup.py它是什么以及如何配置或使用?
鉴于我有以下目录结构.作为当前工作目录
.
\---foo
\---bar
\---__init__.py
\---baz.py
Run Code Online (Sandbox Code Playgroud)
当我跑步时,python -c "import foo.bar.baz"我得到了
Traceback (most recent call last):
File "<string>", line 1
ImportError: No module named foo.bar.baz
Run Code Online (Sandbox Code Playgroud)
如果我echo "" > foo/__init__.py,上面的命令有效.
我做错了什么或者我是否误解了这一点__init__.py?我认为这是停止现有的模块,他们不应该,其中例如一个名为string,但如果更换foo用string在我的例子中,我似乎不得不创建一个不应该被使用的模块,只是让我可以引用文件更深层次的.
更新
我正在使用一个构建系统,它正在__init__.py为我生成并正在执行目录结构,虽然我可以搞乱层次结构,但我更愿意添加__init__.py自己.要稍微改变一下这个问题,为什么我需要在每个级别而不是在顶部的python包?只是一个规则,你只能从python路径或python路径的一系列包中导入模块?