2013-11-01 21 views
0

我使用py2app打包我的應用程序。關於我的應用程序的幾個簡要說明:py2app:我如何使用捆綁的Python解釋器運行測試?

  • 它使用一個特殊的python可執行文件(即非系統python),py2app包含在該包中。
  • 我使用py2app配方功能從site-packages.zip中明確地排除了一些軟件包。

在過去,我有時遇到了我的應用程序包問題,因爲我忘記了將某些包從site-packages.zip中排除。一旦發現問題,這很容易解決,但我並沒有很快發現它,因爲問題的軟件包主要是工作。該問題僅在測試發生在有問題的依賴性中的特定子模塊的特殊情況後才顯示出來。

爲了避免將來出現這樣的問題,我想運行一個測試套件,使用py2app包含在我的包中的相同的解釋器。爲此,我需要在應用程序啓動時自動創建的適當環境設置(包括PYTHONPATHDYLD_LIBRARY_PATH等)。

僅僅使用./dist/MyBundle.app/Contents/MacOS/python來運行我的測試似乎沒有辦法。什麼是推薦的方法來運行完全構建的應用程序包本身的測試?

+0

自從我使用py2app已經有一段時間了,但我記得包含一堆python環境的應用程序的info.plist。 –

+0

你用什麼來運行測試?似乎你可以創建一個自定義打包版本的應用程序,調用測試入口點,而不是像往常一樣啓動你的應用程序...... –

+0

你是如何設法讓py2app捆綁非系統可執行文件的?我試圖實現這一點,沒有成功:http://stackoverflow.com/questions/34845112/app-built-with-non-system-python-in-pyenv-not-runnable-on-other-machines – Pyderman

回答

1

您可以使用py2app 0.7中引入的--extra-scripts選項來包含第二個腳本,該腳本在應用程序捆綁包中啓動測試並使用它來運行測試。

我同意有一種方法可以在應用程序環境中運行腳本,您可以在py2app的存儲庫中提出問題https://bitbucket.org/ronaldoussoren/py2app

+0

謝謝, @Ronald! --extra-scripts選項將用於我的目的。根據要求,我剛剛向py2app問題跟蹤器添加了一個問題,以獲得更通用的解決方案。 –

相關問題