我正在尝试在OBS上构建我的程序。您能否告诉我setup.py应该是什么样子来创建文件夹结构,例如,如果我有这个:
../MyProgram
COPYING
README
mainscript.pyw
/applications
/app1
/icons
pic1.png
app1.py
/app2
/icons
pic2.png
/scripts
script1.py
script2.py
app2.py
等
我阅读了Python文档,使用'package_dir','packages'播放,但OBS仍然给我错误,它无法找到图标文件。我想安装脚本不会创建它们。当我尝试在本地构建一个rpm时,它给了我同样的错误。当我查看BUILD文件夹时,没有创建文件夹'applications'而且没有任何文件夹。
真的很感谢你的帮助。请举个例子。谢谢。
答案 0 :(得分:4)
您可以尝试在以下行中添加MANIFEST:
recursive-include applications *.png
包含所有图标。
要嵌入你的python文件,请尝试显式声明你的包:
setup(
packages=[
"applications",
"applications.app1",
"applications.app2",
"applications.app2.scripts",
],
data_files=[ # declare the list of data_files (destination directory, (data files))
("applications/app1/icons", ("applications/app1/icons/pic1.png",)),
("applications/app2/icons", ("applications/app2/icons/pic2.png",)),
]
.... # your other setup options (name, version...)
)
但你必须在每个目录下放置__init__.py文件,以允许python将它们作为包。
答案 1 :(得分:0)
我在这里找到了帮助:https://wiki.python.org/moin/Distutils/Tutorial
您为要包含的文件创建Manifest.in文件:
recursive-include applications/app1/icons *.png
recursive-include applications/app2/icons *.png