pyinstaller封裝exe的操作
我使用的是anaconda。我推薦大家使用anaconda,對環(huán)境依賴關(guān)系處理的比較好。不用浪費太多時間在安裝模塊上。
首先安裝pyinstaller.命令:
pip install pyinstaller
需要封裝的代碼為一個api消息框。代碼如下,保存的是pyw文件,放在桌面上。
# -*- coding: utf-8 -*- """ Created on Sun Jul 1 21:58:06 2018 @author: FanXiaoLei """ import win32api win32api.MessageBox(0,'打倒老殘','友情提示')
打開windows cmd命令提示符,進(jìn)入pyinstaller安裝目錄的Scripts文件夾下。
我用的是anaconda,路徑為D:\ProgramData\Scripts。
封裝命令:pyinstaller -F -w 要封裝的文件完整路徑。
如下圖所示:

按enter鍵以后封裝自動執(zhí)行。
看下圖,我們可以看到exe保存在了Scripts目錄下的dist文件夾下。
最后一句completed successfully表明創(chuàng)建exe成功。

運行exe后直接會彈出消息框,但不會有黑色的控制臺窗口顯示。

怎么樣?是不是很簡單呢?我使用的是64位的anaconda。
封裝的是64位的exe.如果你想創(chuàng)建通用的,需要使用32位anaconda,這樣創(chuàng)建的32位的exe,可以正常運行于32/64位平臺。
補充:pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過
用pyinstaller打包的exe文件打開時,命令窗口一閃而過,并且未出現(xiàn)GUI界面,也看不到錯誤信息,然后去網(wǎng)上搜相關(guān)的信息,最多的兩種說法:
1.添加raw_input()或者os.system(“pause”)等待信息 ,但是添加后依然是命令窗口一閃而過
2.在命令窗口打開exe,網(wǎng)上有兩種打開exe的方法
start Path\Project.exe
start加exe文件的絕對路徑,但是效果和雙擊exe文件一樣,依然是一閃而過
cd path >>Project.exe
這是先跳轉(zhuǎn)到exe所在的文件夾里,然后輸入文件名帶不帶.exe都行
結(jié)果第二種報錯了,于是一切就從這個美麗的錯誤開始了

但是里面提示了正確的運行方式,輸入.\Project 帶不帶.exe都行,然后又運行了一次,終于看到了錯誤信息,頓時有種淚流滿面的感覺啊

從錯誤信息也能看出為什么加入raw_input()或者os.system(“pause”)等待信息沒有用,因為根本就沒走主程序提示沒有no module named requests 但是明明有,并且在pycharm中導(dǎo)入了啊,為什么會提示沒有呢?

實在是想不明白,于是去網(wǎng)上查各種資料,終于查到了原因,原來是和編寫的工具有關(guān),pacharm 導(dǎo)入的模塊并沒有安裝到電腦的python中模塊中去,這就導(dǎo)致了,在pacharm中能正常運行,在命令窗口里運行python文件時卻提示錯誤。
搞明白原因后趕緊去試驗了一下,用pip安裝了requests后再打包,果然可以了。
在這次查找問題,解決問題的過程中,我總結(jié)了一下,這和我一上來就使用pycharm有關(guān),pycharm在編程時確實好用,自動化程度確實高,但是在基礎(chǔ)還未學(xué)好的情況下我建議還是先使用IDLE吧,我之前就跳過了IDLE直接使用的pycharm,我現(xiàn)在也處在自學(xué)階段,就換回了IDLE,如果python有模塊沒導(dǎo)入,它會直接提示你,你也只能pip去安裝或手動安裝,這樣打包的時候就不會有缺少模塊的問題,也希望大家在以后的學(xué)習(xí)中碰到問題能及時解決問題,不要像我這樣一個簡單的問題搞了一天,也許大佬也遇到這個問題,可能感覺問題太簡單了,只能我這種小白來給大家當(dāng)搬運工了。
相關(guān)文章
python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子
這篇文章主要介紹了python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子,包含pyhook的下載地址和手冊地址及一個Windows下的監(jiān)控實例,需要的朋友可以參考下2014-07-07
使用Python如何測試InnoDB與MyISAM的讀寫性能
網(wǎng)上有很多評論myisam和innodb讀寫性能對比,所以下面這篇文章主要給大家介紹了關(guān)于使用Python如何測試InnoDB與MyISAM讀寫性能的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09
Python輪播圖與導(dǎo)航欄功能的實現(xiàn)流程全講解
這篇文章主要介紹了Python項目輪播圖功能實現(xiàn)和導(dǎo)航欄的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
關(guān)于 Python opencv 使用中的 ValueError: too many values to unpack
這篇文章主要介紹了關(guān)于 Python opencv 使用中的 ValueError: too many values to unpack,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

