【发布时间】:2015-02-19 17:53:32
【问题描述】:
我正在开发一个独立的 Python-GUI 程序。当我跑步时
python3 setup.py sdist
我收到以下警告:
package init file 'main-application-folder/__init__.py' not found (or not a regular file)
此警告是否仅适用于软件包,还是独立 Python 程序也应该有 __init__.py 而不是 main-window.py 或 my-first-program.py 之类的东西?
我应该重命名我的主文件(在我的情况下是 ìbk-st.py 到 __init__.py)还是在 __init__.py 中保留某个结构会更好(即创建一个单独的文件来调用 ibk-st.py 文件)
项目链接:
【问题讨论】:
-
不清楚你在 "packages" 和 "standalone Python program" 之间有什么区别 - 包通常 是 独立程序。您有许多
.py文件组合在一个目录中,所以是的,您应该编写一个__init__.py来指定应该从它们公开的内容。 -
这个答案可能对你有帮助:stackoverflow.com/questions/28444747/…
-
@jonrsharpe:很抱歉很容易混淆,但这是否意味着我应该将我的 ibk-st.py 重命名为
__init__.py或者__init__.py应该满足某些规范? -
@Spießbürger 我想你可以,但那将是非常规的 -
__init__.py通常包含很少的代码,只是导入要在外部公开的名称。参见例如stackoverflow.com/q/448271/3001761 -
你的 setup.py 中有 packages = ["ibk-st"],所以 distutils 自然会在包中要求 init.py。如果您不想分发包,只需使用 py-modules。
标签: python software-distribution