gpt4 book ai didi

python - 如果我想构建一个独立的程序而不是一个包,我是否需要 __init__.py ?

转载 作者:行者123 更新时间:2023-12-01 04:50:19 24 4
gpt4 key购买 nike

我正在开发一个独立的 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.pymy-first-program.py

我应该重命名我的主文件(在我的例子中 ìbk-st.py__init__.py )还是保留 __init__.py 中的特定结构会更好吗? (即创建一个单独的文件来调用 ibk-st.py 文件)

项目链接:

最佳答案

您应该将 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 及其内容

#!/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 - 如果我想构建一个独立的程序而不是一个包,我是否需要 __init__.py ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28613439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com