使用cx_Freeze 將python3代碼打包成.exe程序


在這里分享一下如何在py3下使用cx_Freeze打包pyqt5的程序
首先吐槽下,深深鄙視一下百度,各種百度各種沒有,之前我在py2.7下使用pyqt4開發過一個小軟件,用的是py2exe進行打包的,可是py2exe貌似不支持py3,各種惡心,已經搞了好久了,今天早上google了一下終於搞定了

一、安裝

二、打包程序

  • 安裝之后在windows黑窗口(就是win下面的dos窗口)執行下面步驟:

    • 首先先進入程序所在的目錄

    • 執行下面命令進行python程序打包
      注:這里需要注意的一點是被打包的py程序中不要存在 if name == "main",否則cxfreeze不識別

      cxfreeze --init-script=需要打包主程序的絕對路徑\index.py index.py
      
    • 打包完之后會在當前所在目錄下面生成一個dist的目錄,在黑窗口中進入該目錄,然后直接輸入index.exe(具體的名字以打包的文件為准)就可以執行該exe程序了


### 三、解決報錯:
- 我第一次運行index.exe的時候出現了報錯信息
	
	```python
	AttributeError: 'module' object has no attribute '_fix_up_module'
	```

- 各種百度各種谷歌,說這個是官方的一個bug,需要安裝cx_Freeze4.3.4的補丁包,將cx_Freeze4.3.3升級成4.3.4,具體步驟如下:
- 下載補丁包

	[補丁包下載地址](http://www.lfd.uci.edu/~gohlke/pythonlibs/6kbpejrn/cx_Freeze-4.3.4-cp34-none-win_amd64.whl)

- 進入該補丁包的本地下載目錄,然后使用pip進行安裝

	```python
	pip install cx_Freeze-4.3.4-cp34-none-win_amd64.whl
	```
- 補丁安裝完之后再回到第二步進行打包程序就可以了

### 四、看下我打包之后的幾個截圖
- 打包程序目錄截圖
![](http://images.cnblogs.com/cnblogs_com/CongZhang/848363/o_1.png)

- 雙擊index的運行程序,效果如下
![](http://images.cnblogs.com/cnblogs_com/CongZhang/848363/o_2.png)

##### 有個黑窗口,這個在后面我學習到了再進行解決,這會要收拾東西上班去了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM