2016-03-07 123 views
1

我正在構建一個應用程序,我希望我的用戶只需點擊幾下鼠標就可以創建可執行文件。這是一個使用Tkinter製作的GUI應用程序,其中有一些選項的頁面。這些選項應該被寫入預製Python腳本。這將是沒有問題的。棘手的部分是將腳本編譯爲可執行文件(.exe)。我一直在使用PyInstaller來製作可執行文件,但那只是在我自己的本地計算機上。如果我想打包我的應用程序並將PyInstaller捆綁在一起,該怎麼辦?我知道PyInstaller需要pywin32,這意味着它也必須捆綁在一起。Python便攜式pyinstaller

我完全失去了如何將PyInstaller與我的應用程序捆綁在一起。

我一直在做這方面的大量搜索,但似乎無法找到任何幫助。我得到的最接近的是this後,這並沒有太大的幫助。

回答

2

嘗試使用Nuitka。我嘗試了一些Python的替代品(包括PyInstaller),並且最喜歡這個。藉助Nuitka,您可以將腳本(及其所需的所有模塊)編譯爲獨立的.exe文件。然後,您可以創建許多可用的安裝程序options

這裏的user manual,這裏的命令實例(我用我的項目):

nuitka --standalone --recurse-all --recurse-stdlib --remove-output --windows-disable-console --recurse-directory=YOUR_PROJECT_DIR 

UPD: 如何運行nuitka內部腳本:

import os 
import subprocess 

project_dir = os.path.abspath('project') 
project_main = os.path.abspath('project\\main.py') 

subprocess.call([ 
    'nuitka', '--standalone', '--recurse-all', '--recurse-stdlib', '--remove-output', 
    '--windows-disable-console', 
    # '--windows-icon={}'.format(icon_path), 
    '--recurse-directory={}'.format(project_dir), 
    project_main 
    ], shell=True) 
+0

這是一個有趣的小程序,但可我把它與我的應用程序綁定?我似乎無法在文檔中找到任何有關此事的信息。雖然我可以使用'import nuitka' –

+0

@Script_Coded,但您可以導入nuitka並將其用作模塊,但如果您只是想使用控制檯創建.exe,則只需將其用作控制檯命令即可。你已經安裝了它,對吧?現在只需輸入控制檯「nuitka --help」,你會看到這個util支持的選項列表。 –

+0

這確實是一種使用控制檯的方法。但我希望能夠在我的腳本中做到這一點。使用類似這樣的'nuitka.compile(「myprogram.py」,「--windows-disable-console」)' –