簡體   English   中英

將python應用程序轉換為osx(mac)應用程序

[英]python application to osx (mac) application

我已經為Mac OS創建了Python應用程序。 我正在考慮使用py2app將其轉換為Mac OS應用程序。 我是Mac OS的新手,所以我不了解Mac OS的所有概念和文件結構,但我正在閱讀有關它的信息。

我的程序有兩個子應用程序,

子應用程序1:這將自定義xml,並將xml放入啟動的plist目錄中。 我想運行Macbook啟動或有人登錄時運行的python程序,這就是為什么我將創建的xml文件放入啟動的plist中的原因。 僅在執行安裝程序時,才應運行此子應用程序一次。 (請提供建議或執行此任務的任何其他方式)。

子應用程序2:這將是我的主程序。

我有以下問題,

  • 如何為我的Python應用程序創建安裝程序,以便可以將安裝程序傳遞給我的朋友,他們可以運行該應用程序?
    • 我正在閱讀有關py2app的信息,但這是最常見的嗎?
    • 是否可以運行子應用程序1,這將創建子應用程序2的macos應用程序,並提供子應用程序2的安裝路徑到子應用程序1?
  • 當執行安裝程序時,如何使子應用程序1僅運行一次?
  • 我是否需要在安裝程序包中包含python的默認庫(例如os,sys,libcurl等)? 如果是,我該怎么辦?
  • 如果我朋友的PC沒有python或任何內置的python庫,並且他/她嘗試運行我的安裝程序,將會發生什么情況,如何防止這種情況發生?

謝謝。

  1. 考慮到它提供的控件和功能,您可以使用pyinstaller而不是py2app,這是一個更好的選擇。 在Mac上使用--windowed選項進行構建。 這會在dist文件夾中為您提供(.app)文件以及Unix可執行文件版本。

.app文件基本上是mac app結構(文件夾結構)

通過良好的入門示例查看此官方網站

  1. 對於您來說,屬於子應用程序1-您可以編寫shell腳本並在將應用程序作為macOS中的應用程序添加時調用。

  2. subapplication2-將是您的主程序,並在調用該應用程序時運行

  3. 您不必包括curl和os模塊。如果將它們導入到.py文件中,則pyinstaller會自動為您打包它們。

  4. 您的朋友不需要安裝python,pyinstaller也會打包python解釋器。

對於第二個問題-可能編寫一個shell腳本來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM