這篇文章主要介紹如何使用虛擬環(huán)境打包python為exe文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
使用過anaconda環(huán)境下打包py文件的一點(diǎn)感悟,使用的是pyinstaller+anaconda環(huán)境下打包py文件
打包: pyinstaller -F -w -i logo.ico xxxx.py
-F:強(qiáng)制打包
-w:不帶后臺命令窗口
-i: 使用logo圖標(biāo)的地址
需要打包的文件
遇到的問題:
1.首先對于使用anaconda打包py文件是存在問題的;
1)打包出來的exe會很大,會打包很多關(guān)聯(lián)庫;
2)而其中的一些關(guān)聯(lián)庫是沒有用,而導(dǎo)入這些庫會拖慢程序運(yùn)行的效率。
解決:使用虛擬環(huán)境進(jìn)行打包
1.使用pipenv
虛擬環(huán)境的應(yīng)用可以用pipenv
安裝pipenv :pip install pipenv
使用pipenv建立虛擬環(huán)境,通過命令行:pipenv install 建立虛擬環(huán)境
;
建立虛擬環(huán)境有主意的是:建立的虛擬環(huán)境是在一個項(xiàng)目文件下的路徑上建立的
3.建立完成后可以通過pipenv shell 進(jìn)入虛擬環(huán)境
4.進(jìn)入后可以通過pip install 包 對依賴的第三方庫包進(jìn)行安裝
pipenv install 包是對庫包進(jìn)行配置導(dǎo)入綁定到配置文件pipfile中
最后可以在虛擬環(huán)境中安裝pyinstaller來對需要打包的文件進(jìn)行打包;
2.使用virtualenv
1.安裝virtualenv :pip install virtualenv
2.在相應(yīng)的項(xiàng)目目錄下面建立虛擬環(huán)境:cmd 中virtualenv+venv
(命名)
virtualenv --no-site-packages --python=2.7 env
--no-site-packages:
默認(rèn)情況下,虛擬環(huán)境會依賴系統(tǒng)環(huán)境中的site packages,就是說系統(tǒng)中已經(jīng)安裝好的第三方package也會安裝在虛擬環(huán)境中,如果不想依賴這些package,那么可以加上參數(shù) --no-site-packages建立虛擬環(huán)境
3.激活環(huán)境:項(xiàng)目路徑下;venv\scripts\activate
4.安裝庫pip install xxxx
批量安裝pip install -r xxx.txt
打包安裝遇到的問題分享:
1.在進(jìn)行打包的時候遇到報(bào)錯:
Fatal error: PyInstaller does not include a pre-compiled bootloader for your platform.https://pyinstaller.readthedocs.io/en/stable/bootloader-building.html
查閱資料后發(fā)現(xiàn)可以通過降級實(shí)現(xiàn),后來我發(fā)現(xiàn)造成這個問題主要是后臺的win10防火墻吧我虛擬環(huán)境中的pyinstaller的pyinstaller\PyInstaller\bootloader\Windows-32bit中的runw.exe刪掉了,可以通過原有python庫中已有的庫中去復(fù)制粘貼到相應(yīng)的路徑下,防火墻應(yīng)該時刪掉了某些重要的東西。
但是我發(fā)現(xiàn)后來打包中一旦帶有
2.打包后發(fā)現(xiàn)的一些問題:numpy: No module named ‘numpy.random common'
可以發(fā)現(xiàn)使用numpy下,pandas的下引用的numpy導(dǎo)入失敗,經(jīng)查閱這可能是版本問題造成的
可以先卸載原有的版本pip uninstall numpy
改為安裝pip install numpy==1.16.2
3.distutils not included with latest virtualenv (16.4.0) #4064
打包出來可能會發(fā)現(xiàn)缺少導(dǎo)入包distutils,因?yàn)閐istutils是內(nèi)置庫,無法pip install 安裝,并且virtualenv16.4以后就不再自帶庫distutils庫了。
所以可以通過降低virtualenv解決這個問題;
以上是“如何使用虛擬環(huán)境打包python為exe文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:如何使用虛擬環(huán)境打包python為exe文件-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article24/eioje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、小程序開發(fā)、用戶體驗(yàn)、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容