2012-11-05 88 views
1

如何使用py2exe將文件放入文件夾中。

嗨!

我在python中製作了一個國際象棋引擎,然後我使用py2exe編譯爲.exe。問題是,當我將所有奇怪文件聚集在同一個文件夾(dist)中時,它看起來並不整齊。我想在包含所有幫助程序文件的dist文件夾中創建一個新文件夾,因此我所有的dist文件夾都包含保存幫助程序文件和主要啓動應用程序的文件夾。但是,我不能簡單地將助手文件複製到一個新文件夾,因爲計算機然後找不到它們並引發錯誤。

如何解決?此外,我使用inno安裝程序進行安裝,但我無法弄清楚如何在那裏找到解決方案。

非常感謝!

回答

0

py2exe的配置中有一項功能,它允許您將所有Python文件捆綁到一個文件中。這將大大減少根目錄中的文件數量,但仍會保留一些文件,無論如何。

這些文件通常是DLL文件,至少從我看到的GUI應用程序。您無法刪除這些內容,因爲它們需要啓動該應用程序。解決此問題的一個解決方法是創建一個批處理文件,該文件將運行可以在子目錄中的實際程序。重點在於這些文件應該與可執行文件或當前工作目錄位於同一目錄中,或者位於環境變量PATH中的路徑。至少這是大多數情況。另一種方法可能是一個批處理文件,它將修改PATH變量或cd到另一個目錄,然後運行該文件。

我從來沒有試過這樣做,所以它可能會給你帶來一些麻煩。無論如何,國際海事組織最好的辦法是創建一個安裝程序並添加快捷方式,您不必爲打亂這些文件而煩惱用戶。

0

請嘗試使用pyinstaller代替。它很容易使用,並將PythonLib和所有必要的Python文件編譯爲獨立的EXE。所以你不必擔心你的dist文件中有大量文件。 (只有一個exe文件)。

如果您有其他外部文件,如數據庫,文本文件,csv的。等等...您可以將它們設置爲以inno setup [Files]部分中所需的方式進行部署。

我寫這篇昨天的詳細說明,因此,請檢查此鏈接:

https://stackoverflow.com/a/13259452/1339024

- 編輯 -

*請確保您使用pyinstaller 1.5,因爲在2.x版本不完全相同

相關問題