2012-12-30 34 views
3

我已經成功使用pyInstaller 2.0從簡單的python腳本創建可執行文件。我有一個python腳本,它運行不同的搜索,並根據命令行參數生成不同的輸出。有沒有辦法使用pyInstaller來創建假設某些參數的腳本的可執行文件?正如,我想生產將運行一個exe文件,併產生相同的輸出,好像我是按如下的命令行運行它:使用pyInstaller 2.0創建具有特定參數的python腳本的可執行文件

python pacman.py --layout mediumMaze --pacman SearchAgent

這可能與pyInstaller 2.0嗎?我無法在所提供的手冊中找到這一點。先謝謝你。

+1

編輯'pacman.py'承擔這些參數作爲默認? – delnan

回答

1

這是一種迂迴的方式來做到這一點,但你可以在一個單獨的python文件中導入pacman.py,並調用它,以便它執行命令行參數指定的操作。然後,使用pyinstaller,你可以編譯單獨的python文件。

如果不能以這種方式使用pacman.py,可以嘗試創建下面的Python文件並讓pyinstaller編譯它。

import sys 

sys.argv.extend(['--layout', 'mediumMaze', '--pacman', 'SearchAgent']) 

import pacman 
pacman.main() # if your file has a `main` function 

(在這兩種情況下,pyinstaller仍會將兩個文件合併在一起成爲一個exe文件)

+0

@delnan:我編輯它;那個更好嗎? – Michael0x2a

+0

是的,這是(在這方面)。請注意,如果'pacman.py'寫得很好(如果不是'__main__',實際上不會做任何事情),這不會做任何事情。在編寫得很好的獨立腳本中,通常有一個'main()'函數或某些在導入它時將被顯式調用的函數。 – delnan

+0

這似乎用正確的默認參數運行該文件,但不幸的是可執行文件不顯示pygame輸出。我不明白這是爲什麼,因爲腳本按預期運行。嗯。 – Christian

相關問題