2012-01-25 48 views
3

我需要一個可執行文件(.exe),它可以從一個文件中獲取一些參數,這個參數可以由用戶根據他/她的需要進行配置。由於我已經在Python中創建了腳本,我已經使用py2exe來創建該可執行文件。雖然我可以放置一個名爲配置文件settings.dat數據文件,並用它來定製,我覺得這將是更好,如果配置文件是Python文件(可以說settings.py)和使用它會導入在其中聲明的變量。忽略py2exe中的library.zip

因此settings.py不應該包含在library.zip中,我希望它被包含在內,並使其可以被用戶配置。這可能嗎 ?

有什麼辦法可以避免創建library.zip,只是把所有的依賴文件放在一個子文件夾中? (在這種情況下,我可以只是把settings.py裏面,因爲settings.pyc是來源於它會得到反映作出settings.py中的任何改變)

回答

2

有什麼辦法,以避免產生library.zip和只需將所有 相關性文件放在一個子文件夾中?

是的,請將skip_archive選項設置爲True

http://www.py2exe.org/index.cgi/ListOfOptions

編輯:pyc文件被放置在同一個文件夾中的zip文件本來。 zipfile關鍵字控制zip的路徑。這使文件中的子文件夾foo

setup( 
    ... 

    zipfile="foo/bar.zip", 
    options={"py2exe": {"skip_archive": True}}) 
+0

嗨詹恩Karila,是的,我可以用skip_archive,但我無法將文件放在一個子文件夾,它只是將所有文件複製到所需的可執行文件退出的文件夾,但我不希望發生這種情況。我需要在一個單獨的子文件夾中的依賴關係。有什麼方法或解決方法嗎? –

+0

@krishnabalan是的,請參閱編輯。 –

+0

嗨Janne Karila,謝謝!有用 !!。我之前也啓用了'bundle_files',所以它給了我拒絕錯誤的權限。現在它按我的預期工作。 :-) –