2011-06-06 18 views
2

我想在OBS上構建我的程序。你能告訴我什麼setup.py看起來應該創建一個文件夾結構,例如,如果我有這樣的:與多個文件夾的Python 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」 ,'包',但OBS仍然給我錯誤,它找不到圖標文件。我想安裝腳本不會創建它們。當我試圖在本地構建一個rpm時,它給了我同樣的錯誤。當我查看BUILD文件夾時,沒有創建文件夾「應用程序」,也沒有創建文件夾。

真的很感謝你的幫助。請舉一個例子。謝謝。

回答

4

你可以嘗試在你的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文件的每個目錄下,讓蟒蛇把它們當成包。