帮助Python setup.py与多个文件夹

时间:2011-06-06 04:22:06

标签: python setup.py

我正在尝试在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'而且没有任何文件夹。

真的很感谢你的帮助。请举个例子。谢谢。

2 个答案:

答案 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