python pycharm打包_【转】通过PyCharm 把Python 程序打包为exe
但是由于PyCharm 用了虛擬環(huán)境venv, 所有一些參數(shù)是有區(qū)別的,網(wǎng)上查詢了很久沒有查到這方面的信息,下面這些都是我自己探索出來的lin49940。
步驟一,點擊進入PyCharm 的輸入終端Terminal
步驟二,輸入下面的語句, mypython.py 替換為你自己的程序名稱
pyinstaller -c -F mypython.py -p E:/dream/venv/Lib/site-packages
這個命令是把程序打包為單獨的一個exe文件, 打包成功后的文件在E:\dream\dist 文件夾下,名稱為mypython.exe。
當然你也可以打包為多個文件的形式。
-p E:/*******? ? 就是pycharm 當前項目的虛擬環(huán)境了, 里面有編寫程序使用到的包,這些包可能沒有加入到系統(tǒng)的python 環(huán)境中,我們必須指定這個路徑,依賴的包才能被打包程序加載到。
pyinstaller 命令具體參數(shù), 可以查看官方文檔
注意, 32位環(huán)境打包的exe 可以在32或64位的機器運行, 64位環(huán)境打包的exe 只能在64位的機器上運行。
window 特有的(pyinstaller 3.0 才有)
--win-private-assemblies
這個參數(shù)是指將共享的程序集變?yōu)樗接谐绦蚣?#xff0c;這樣的話即使改變環(huán)境,編譯的程序依然只會執(zhí)行私有程序集而忽視不同環(huán)境下的共享程序集。這個參數(shù)尤其適合在一臺機器上編譯完成后在各種不同環(huán)境下執(zhí)行。
與之相近的還有一個參數(shù)
--win-no-prefer-redirects
這兩個參數(shù)是在比較新的pyinstaller版本中才有的選項
對于圖形的開發(fā)工具, 不要使用 -F 當個文件的方式打包, 這樣的話, 你需要去配置環(huán)境, 用默認的-D 文件夾的方式打包就行了。
Window 運行, 是需要VC++ redist 的支持的,并且版本和(32位或64位)必須對, 不管是python 的wxPython 還是 c#的WPF 也是一樣的,使用 C#app 能使用 Chromium 內(nèi)核的CefSharp從V65 版本開始就要VC++ Redist2015 才行。
缺少的一些如api-ms-win-crt-runtime-l1-1-0.dll 這些, 其實就是沒有指定的 VC++ redist 版本(最低版本,一般有高版本的也行), 絕對不要自己下載或者去其他電腦拿這些dll 文件過來,很可能不兼任導(dǎo)致的莫名其妙的問題(CLR20R3,Error loading Python DLL loadLibrary Pyinstaller FormatMessageW failed 等奇怪的問題),安裝對應(yīng)版本的VC++ Redist 才是根本解決方法。
VC++ redist 絕對絕對絕對要去微軟官網(wǎng)下載, 不要到國內(nèi)一些下載網(wǎng)站下載,他們的東西雜七雜八的,有點小問題就能坑死你。
總結(jié)
以上是生活随笔為你收集整理的python pycharm打包_【转】通过PyCharm 把Python 程序打包为exe的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 统计404日志_Apach
- 下一篇: python动态规划详解_python-