3

我正在尝试在 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 文件夹时,没有创建文件夹“应用程序”,下面也没有任何内容。

非常感谢您的帮助。请举个例子。谢谢你。

4

2 回答 2

5

您可以尝试在以下行中添加您的 MANIFEST.in :

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 将它们作为包。

于 2011-06-06T08:28:08.150 回答
0

我在这里找到了帮助:https ://wiki.python.org/moin/Distutils/Tutorial

您为要包含的文件创建一个 Manifest.in 文件:

recursive-include applications/app1/icons *.png
recursive-include applications/app2/icons *.png
于 2016-06-08T21:38:05.410 回答