我正在开发一个独立的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
文件)
项目链接:
答案 0 :(得分:2)
您应该将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
命令将安装在{{1}文件夹(无论是virtualenv的bin
还是系统bin
),都可以运行UI。