2016-02-08 31 views
2

我試圖從一個.py文件創建一個可執行文件,並且如果我按照py2exe教程所說的那樣做正確,它就可以工作。我把setup(console=["thingyIdLikeToDo.py"])放在我的setup.py文件中,然後在我的控制檯中輸入python setup.py py2exe,它就可以工作。py2exe並設置setup.py從argv獲取其目標?

但是。這意味着,無論何時我想將另一個python文件轉換爲可執行文件,我都必須打開並編輯setup.py。我寧願做別的事情:

from distutils.core import setup 
from sys import argv 
import py2exe 

setup(console=[argv[1]]) 
##This was originally setup(console=["MyTargetFile.py"]) and it DOES work that way 

然後鍵入python setup.py MyTargetFile.py py2exe。由於它是invalid command name 'MyTargetFile.py'

我也嘗試了更改順序,使其python setup.py py2exe MyTargetFile.py和更改argv[1]argv[2]。我得到完全相同的錯誤信息。

我的意思是,我有一個運行的方式來將我的.py文件製作成.exe文件,但是我真的很惱火,看起來應該是這樣一個簡單的變化不起作用。我在這裏錯過了什麼?

回答

0

您遇到了麻煩,因爲setup正在使用sys.argv。如果您將電話更改爲setup(console = [sys.argv.pop(1)],我相信您會停止踩踏distutils的腳趾,並且事情應該順利進行。

+0

是的,這是做到了。 –