python編譯成exe文件
① python怎麼轉成exe文件
python提供pyinstaller庫將代碼打包成exe可執行文件,步驟如下:
1.安裝pyinstaller
安裝的方式如同安裝導入其他包一樣,使用pip,執行命令:
pip3 install pyinstaller
自動下載並安裝。
2.打包並轉換成exe
打開終端,進入到需要轉換的python文件路徑下,執行命令:
pyinstaller -F -w (-i icofile) filename
參數說明:
filename:Python文件名
-w :表示隱藏程序運行時的命令行窗口(不加-w會有黑色窗口)
-i icofile:可選參數(可不要),表示給程序加上圖標,圖標必須為.ico格式。icofile表示圖標所在路徑,建議直接放在python同一路徑下,這樣子打包的時候直接寫文件名就好。
3.打包成功
命令執行成功後,會生成N個文件夾,所需要的exe文件就在dist文件夾里。
至此,在windows下將python文件轉成exe就這樣搞定了。
推薦課程:Python高級進階視頻教程
② 使用Pyinstaller打包成EXE文件
pyinstaller能夠在Windows、Linux等操作系統下將Python腳本打包成可直接運行程序。使Python腳本可以在沒有安裝Python的環境中直接運行,方便共享。
python 2.7.12 + Windows7
1.待轉換的.py文件絕對路徑最好不要包含中文字元。容易出現一些莫名其妙的問題。
2.python中需要有.py文件中用到的第三方庫。否則在轉換後的.exe文件中會出現不符合預期的結果。
1.配置pip鏡像源。
在用慶族戶家目錄下創建pip目錄和pip.ini文件。方法如下
step1: 獲取HOMEPATH變數對應的路徑,執行 set HOMEPAT H也可以執行 echo %HOMEPATH% 獲取。
上述結果說明用戶家目錄HOMEPATH對應的路徑為C:UsersAdministrator。
step2: 在C:UsersAdministrator目錄下創建pip目錄,斗啟並在pip目錄下創建pip.ini文件。如果已經有pip目錄和pip.ini文件,跳過。 特別說明的是,pip.ini文件的後綴是.ini,注意隱藏擴展文件譽銷弊名可能造成的影響。 在pip.ini文件中添加相關內容並保存:
step3: 測試pip工具,確認是否能夠自動安裝第三方庫,如使用pip自動安裝Pexpect類庫。
step4: 進入python工具,執行import pexpect導入模塊命令,沒有報錯說明pip自動安裝pexpect庫成功。
step5: 結束安裝,後續安裝第三方庫就可以在任意路徑下直接執行pip install ${PackageName}進行安裝。
2.打開cmd命令行窗口,輸入 pip install pyinstaller ,安裝pyinstaller庫。
3.確認pyinstaller安裝結果,位於c:Python27Scripts路徑下。執行 where pyinstaller 查看
pyinstaller [options] script
例如: pyinstaller -F myscript.py
options常用選項說明:
pyinstaller其實就是把python解釋器和腳本打包成一個可執行文件,和編譯成真正的機器碼是完全兩回事。所以打包不一定會提高運行效率,可能會降低運行效率,但是好處是在運行者機器上不用安裝python和腳本所依賴的庫。
輸入指定的腳本後,首先pyinstaller會分析該腳本所依賴的其他依賴,然後進行查找、復制,把所有相關的依賴都收集起來並進行加密處理,包括python解釋器,最後把這些文件放在一個目錄下,或者打包到一個可執行文件,然後就可以直接運行所生成的可執行文件。
需要注意的是,使用pyinstaller打包生成的可執行文件,只能再和打包機器系統相同的環境下運行。32位python環境打包的程序可以運行在32/64位windows系統上。64位python環境打包的程序只能運行在64位windows系統上。所以如果想打包程序的話,建議使用32位python環境打包。
1.確認待轉換的.py文件可正確運行,不存在語法錯誤。如ccc.py
2.執行 pyinstaller -F ${Python腳本名} 完成文件轉換。.exe文件生成的絕對路徑會在倒數第二行顯示,通常位於當前目錄下dist所在目錄下。轉換後的.exe文件名與python文件名相同。如下圖所示
1.如果Python腳本使用到了第三方庫,如何打包?
方法一:將第三方庫對應的包復制到待打包python腳本的同目錄下,再執行打包命令。
方法二:pyinstaller.exe -F 路徑文件名.py 路徑文件名.py
2.我的python腳本主要是命令行輸出,但是程序執行完就退出無法查看相關信息,如何處理?
在python腳本最後一行添加命令:os.system('pause') 或者 raw_input('Press enter any key to exit...')
3.我想給我的打包後的執行程序換個圖標,如何處理?
使用參數-i。如命令:pyinstaller -F -i tupianqq.ico ccc.py。文件後綴名必須是.ico
4.程序運行出現CMD窗口,如何去除?
帶上參數-w即可。pyinstaller.exe -F call_login.py -w (-w表示去掉控制台窗口顯示)
5.pip配置鏡像源參考
③ python文件如何存為exe
打包PY文件為EXE文件
cmd(或Power shell)進入py程序項目目錄,執行命令:pyinstaller -F -w --icon=xxx.ico main.py --noconsole。其中,-F表示生成單exe可執行文件,-w表示窗體程序,
--icon是設置exe的顯示圖標,'main.py'是程序的入口,--noconsole 表示不展示cmd窗口,反過來想看cmd窗口就改成--console。
編譯:pyinstaller -F -w game.py (-F表示打包單個文件,-w是為了打開exe時候不彈出黑框)
設置exe的圖標:pyinstaller -F -w -i bitbug_favicon.ico game.py (-i用來設置編譯成exe文件的圖標,後面跟.ico格式的圖片文件)
④ python如何編譯成exe文件
python如何編譯成exe文件?具體步驟如下:
python學習網,大量的免費python視頻教程,歡迎在線學習!
1、使用pycharm安裝pyinstaller。
2、找到pyinstaller的安裝目錄。
C:-script.py
相關推薦:《Python教程》
注意在該目錄的母目錄下一般有我們的程序文件
C:
3、將我們要打包的程序至pyinstaller的安裝目錄下:
C:venvScripts
4、打開cmd,找到該路徑 cd C:venvScripts,輸入命令pyinstaller -F *.py
如下圖顯示,打包成功。
5、此時在Scripts的目錄下能夠看到已經生成的dist目錄和*.spec文件。運行*.exe文件即可。
6、也可以使用命令pyinstaller -F *.py,該命令會將所有的依賴放到一個文件夾中。相當於-F的解壓。
⑤ 手把手教你給Python程序寫圖形界面,並且打包成exe文件
官網下載Python3,LZ的配置環境是Python3.6,PyCharm 2017.2.1
File->Settings->Tools->External Tools,點擊+好配置好即可,LZ已經配置好了,剛開始悔棗侍碧吵是沒有的
Program裡面填designer.exe的位置,Working directory裡面點擊右面的Insert按鈕,插入和圖片一樣的值即可
Program裡面填python.exe的安裝目錄,Parameters裡面填如下內容
Working directory點擊右面Insert按鈕插入相同內容即可
興建一個項目,右鍵點擊項目->External Tools->QtDesigner,彈出QtDesigner的圖形界面如下,LZ拖入了2個按鈕
這時你會發現多了一個untiled.ui文件,文件名LZ用的是默認的,岩襲右鍵點擊這個ui文件->External Tools->PyUIC,這時文件夾下多了一個untitled.py文件,打開untitled.py,加入以下內容Ctrl+Shift+F10運行即可
untitled.py
運行結果
LZ用的是pyinstaller,pyinstaller不支持Python3.6,無奈又下載了一個Python3.5的環境,運行和打包在Python3.5下,工具用的是Python3.6下的,也不影響已經配置好的工具的使用,命令行中輸入一下即可
在命令行中進入要打包的py文件所在的目錄,輸入一下命令
然後到py文件所在目錄的dist文件中,打開exe,結果一閃而退,原來是找不到外部的動態鏈接庫,輸入一下命令,指明外部鏈接庫
-F的效果是打包成一個單文件,-w的效果是取消控制台。
這個是我開發的,將doc文件批量轉為docx的小工具,源碼放在github上,大家可以參考
https://github.com/erlieStar/doc2docx
歡迎star
⑥ python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼
1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。