打包遷移Python?env環(huán)境的三種方法總結(jié)
平常工作中可能遇到python虛擬環(huán)境遷移的場(chǎng)景,總結(jié)了如下幾個(gè)方法。適用于同架構(gòu)、相同類型系統(tǒng)之間的python虛擬環(huán)境遷移。
方法一:使用pip freeze和requirements.txt
這種方法將當(dāng)前環(huán)境中的所有包記錄到一個(gè)文件中,然后在新環(huán)境中安裝這些包。
1. 導(dǎo)出當(dāng)前環(huán)境中的包
在當(dāng)前虛擬環(huán)境中,運(yùn)行以下命令來(lái)生成requirements.txt
文件:
pip freeze > requirements.txt
2. 遷移requirements.txt文件
將生成的requirements.txt
文件復(fù)制到目標(biāo)機(jī)器上。
3. 在目標(biāo)機(jī)器上創(chuàng)建新環(huán)境并安裝包
在目標(biāo)機(jī)器上,創(chuàng)建新的虛擬環(huán)境,然后使用requirements.txt
文件來(lái)安裝所有包:
# 創(chuàng)建新的虛擬環(huán)境 python -m venv my_new_env # 激活新環(huán)境 # Windows my_new_env\Scripts\activate # macOS/Linux source my_new_env/bin/activate # 安裝包 pip install -r requirements.txt
方法二:打包整個(gè)虛擬環(huán)境目錄
這種方法將整個(gè)虛擬環(huán)境目錄打包并復(fù)制到目標(biāo)機(jī)器上??梢詫?shí)現(xiàn)離線打包遷移,且目的端不需要下載及安裝過(guò)程。
1. 打包虛擬環(huán)境目錄
在當(dāng)前機(jī)器上,使用壓縮工具將虛擬環(huán)境目錄打包:
# 假設(shè)虛擬環(huán)境目錄名為my_env tar -czvf my_env.tar.gz my_env
2. 遷移壓縮包
將生成的my_env.tar.gz
文件復(fù)制到目標(biāo)機(jī)器上。
3. 解壓虛擬環(huán)境目錄
在目標(biāo)機(jī)器上,解壓縮虛擬環(huán)境目錄:
tar -xzvf my_env.tar.gz
注意:
- 這種方法遷移確保遷移前后環(huán)境的python版本盡量一致,和架構(gòu)必須一致。
- 使用此種方式遷移到新機(jī)器后,確保解壓后虛擬環(huán)境bin目錄下python軟連接文件指向本地的python路徑是正確的。否則會(huì)報(bào)文件不存在:
bad interpreter: No such file or directory
方法三:下載wheel包離線遷移環(huán)境
在當(dāng)前機(jī)器下載離線的wheel包,將離線包遷移至目標(biāo)機(jī)器直接安裝。
1. 舊環(huán)境導(dǎo)出
在當(dāng)前環(huán)境中,運(yùn)行以下命令來(lái)生成wheel文件:
pipenv freeze > requirements.txt # 執(zhí)行如下文件會(huì)根據(jù)requirements.txt下載wheel安裝包,下載后位于當(dāng)前目錄packages文件夾 pip wheel -w packages -r requirements.txt # 或者或者使用如下命令,將wheel包下載至packages文件夾。與上面命令效果是一樣的。 pip download -r requirements.txt -d packages
2. 新環(huán)境安裝
將requirements.txt和packages文件夾復(fù)制到新機(jī)器上,創(chuàng)建虛擬環(huán)境,
python -m venv my_new_env pip install --no-index --find-links=packages -r requirements.txt
注意
這種方法對(duì)于兩邊的python版本和系統(tǒng)類型有一定要求,盡量接近,可以根據(jù)遷移情況進(jìn)行調(diào)整。有的wheel包區(qū)分是windows和linux版本。
總結(jié)
到此這篇關(guān)于打包遷移Python env環(huán)境的三種方法的文章就介紹到這了,更多相關(guān)打包遷移Python env環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas groupby apply agg 的區(qū)別 運(yùn)行自定義函數(shù)說(shuō)明
這篇文章主要介紹了Pandas groupby apply agg 的區(qū)別 運(yùn)行自定義函數(shù)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03在linux下實(shí)現(xiàn) python 監(jiān)控usb設(shè)備信號(hào)
今天小編就為大家分享一篇在linux下實(shí)現(xiàn) python 監(jiān)控usb設(shè)備信號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07利用Opencv中Houghline方法實(shí)現(xiàn)直線檢測(cè)
這篇文章主要為大家詳細(xì)介紹了利用Opencv中的Houghline方法進(jìn)行直線檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02