如果我想构建一个独立的程序而不是一个包,我需要一个 __init__.py 吗?
Do I need an __init__.py if I want to build a standalone program and not a package?
我正在开发一个独立的 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
文件)
Link 到项目:
您应该将 ibk-st
重命名为 python 的有效包标识符(也许 ibk_st
);然后 ibk-st.py
变成类似 main_ui.py
的东西;然后为整个包添加一个 __init__.py
(或者您可以将 ibk-st.py
重命名为 __init__.py
)。
请注意setup.py
can install command line scripts;你可以提供一个瘦包装器作为文件 bin/ibk-st-ui
with contents
#!/usr/bin/env python
from ibk_st.main_ui import main
main()
模块安装将确保脚本在用户使用的任何平台上都运行可用。
那么在你的 setup.py
你应该
...
packages = [ 'ibk_st' ],
scripts=[ 'bin/ibk-st-ui' ],
...
现在,当您运行 setup.py install
或安装软件包时,模块可以嵌入到其他程序中 和 命令 ibk-st-ui
将安装在 bin
文件夹中(无论是 virtualenv 的 bin
还是系统 /usr/local/bin
),可以 运行 UI.
我正在开发一个独立的 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
文件)
Link 到项目:
您应该将 ibk-st
重命名为 python 的有效包标识符(也许 ibk_st
);然后 ibk-st.py
变成类似 main_ui.py
的东西;然后为整个包添加一个 __init__.py
(或者您可以将 ibk-st.py
重命名为 __init__.py
)。
请注意setup.py
can install command line scripts;你可以提供一个瘦包装器作为文件 bin/ibk-st-ui
with contents
#!/usr/bin/env python
from ibk_st.main_ui import main
main()
模块安装将确保脚本在用户使用的任何平台上都运行可用。
那么在你的 setup.py
你应该
...
packages = [ 'ibk_st' ],
scripts=[ 'bin/ibk-st-ui' ],
...
现在,当您运行 setup.py install
或安装软件包时,模块可以嵌入到其他程序中 和 命令 ibk-st-ui
将安装在 bin
文件夹中(无论是 virtualenv 的 bin
还是系统 /usr/local/bin
),可以 运行 UI.