2013-05-25 81 views
2

所以,我有一些Python 3.3代碼,我需要在Windows上創建一個.exe。我發現唯一的方法是使用cx_Freeze。但是,我甚至沒有進一步安裝。這個問題說明了我的問題完全(除了我運行Python 3.3),並且還沒有被回答:cx_Freeze和Python 3.3

installing/using cx_freeze

當我嘗試運行「蟒蛇setup.py打造」從CMD我得到:

"importerror: no module named cx_freeze" 

我無法通過這一步,並且搜索了一個小時的解決方案,但未成功。

如果相關Python安裝在C:\ Python33。我安裝的Python和cx_Freeze都是64位版本。我安裝的cx_Freeze版本是:cx_Freeze-4.3.1.win-amd64-py3.3。我試過重新安裝。當我在IDLE中「導入cx_Freeze」時,它不顯示任何錯誤。

請注意我是一名編程初學者。

回答

5

問題的答案是我在其他的答案。確保你首先閱讀它,因爲這個擴展了它。

好的,所以經過幾個小時的痛苦之後,我的遊戲在沒有安裝Python的人的電腦上運行.exe,這是我的目標!如果有人需要知道,我使用Pygame來製作遊戲。

所以,這裏不久我在其他答案我給的步驟之後,所做的:

這是我使用的setup.py:

from cx_Freeze import setup, Executable 

includefiles = ['add_all_your_files_here, example.png, example.mp3'] 
includes = [] 
excludes = [] 
packages = [] 

setup(
    name = 'yourgame', 
    version = '1.0.0', 
    description = '', 
    author = 'John Doe', 
    author_email = '[email protected]', 
    options = {'build_exe': {'excludes':excludes,'packages':packages,'include_files':includefiles}}, 
    executables = [Executable('yourgame.py')] 
) 

注意,我想不出(和不想打擾)如何包含來自其他文件夾的文件,所以我把它們放在了setup.py所在的位置。我試圖把相對路徑,但似乎我應該把絕對。

要注意哪些文件丟失我不得不從cmd運行該exe文件,以便它會崩潰時我可以讀取錯誤。當我從Windows打開.exe時,這是不可能的,因爲窗口會關閉得太快。

除了我的代碼需要的文件之外,它還想要其他一些.py文件。即:

re.py 
sre_compile.py 
sre_constants.py 
sre_parse.py 

我將它們從python(c:\ Python33 \ Lib)複製到我的遊戲文件夾中。

這個.exe然後能夠在我的和另一臺沒有安裝python的計算機上運行我的遊戲而沒有問題(例如沒有字體問題,正如我聽到有人所說的那樣)。

我花了9個小時在兩天內弄清楚這一切。希望它可以幫助其他初學者。

+1

如果您告訴它使用Win32GUI庫,可以很快解決控制檯關閉的問題 - 請參閱示例[here](http://cx_freeze.readthedocs.org/en/latest/distutils.html) 。 –

+1

對re&sre文件的需求是cx_Freeze中的一個錯誤 - 它應該在下一個版本中修復。對你的問題堅持不懈! –

+0

啊,已經很晚了,但是感謝那些信息! –

0

你需要使python成爲cmd命令。

  1. 窗戶上的按鈕,右鍵點擊
  2. 單擊系統
  3. 點擊「高級系統設置」
  4. 點擊「環境變量」
  5. 在「系統變量」部分,點擊「路徑'變量
  6. 突出顯示後,單擊編輯。
  7. 鍵入新的路徑(例如:C:\ Python34>),然後單擊 '確定'

我希望這有助於。 Orrrr ...你用小f鍵入cx_Freeze。 哦,我只是注意到你找到了你的答案。