2013-01-17 46 views
0

我正在嘗試使用py2app創建一個OSx應用程序。使用nibabel的Python py2app獨立應用程序

我用py2app腳本沒有問題:

py2applet --make-setup UltraProcCMD.py 
python setup.py py2app 

這個應用程序的時候,不使用nibabel包,但工作得很好,當我做我得到以下錯誤:

File "nibabel/__init__.pyc", line 38, in <module> 
File "nibabel/analyze.pyc", line 91, in <module> 
File "nibabel/wrapstruct.pyc", line 111, in <module> 
ImportError: cannot import name imageglobals 

我試圖明確導入imageglobals。即在代碼:

from nibabel import imageglobals 

這也將產生錯誤的py2app但在Python解釋器中運行的腳本正常工作。

任何人都知道我錯過了什麼?任何幫助將不勝感激。

編輯:我有一種感覺,py2app不拉從nibabel它應該的所有依賴。有沒有辦法強制整個nibabel包被包含在py2app中?

+0

你可以導入通過Python解釋器模塊? – Talvalin

+0

感謝您的回覆。 '從nibabel import imageglobals'在python解釋器中工作正常,但不在應用程序中。 – Ben

回答

1

找到了一個簡單的解決方案!

py2app似乎沒有導入nibabel包中的所有必需的依賴關係,而nibabel包足夠熟悉,可以定製py2app recipe

因此,使用:代替

python setup.py py2app --packages nibabel 

python setup.py py2app --packages nibabel 

似乎迫使py2app包括整個nibabel包

+0

我向py2app的跟蹤器添加了一個關於此問題的問題:並打算研究爲什麼nibabel不會' t工作(並可能爲它添加一個配方) –

+0

謝謝羅納德。你的py2app腳本非常棒。 – Ben