Python虛擬環(huán)境打包

為什么要構(gòu)建虛擬環(huán)境

  1. 很多時(shí)候不同的 Python 應(yīng)用所依賴的版本是沖突的,滿足了其中一個(gè),另一個(gè)則無法運(yùn)行,解決這一問題的方法是 虛擬環(huán)境,互不干擾

安裝虛擬環(huán)境

  1. 在 python3.3 之前,只能通過 virtualenv 創(chuàng)建虛擬環(huán)境,首先需要安裝 virtualenv
pip install virtualenv
  1. 創(chuàng)建虛擬環(huán)境

virtualenv模塊

virtualenv --no-site-packages myvenv

參數(shù) --no-site-packages 的意思是創(chuàng)建虛擬環(huán)境時(shí),不復(fù)制主環(huán)境中安裝的第三方包,也就是創(chuàng)建一個(gè) “干凈的” 虛擬環(huán)境

virtualenv 還有很多參數(shù),用于不同的使用場(chǎng)景,例如:

  • -p: 用于指定 Python 解析器,就是安裝好的 Python 應(yīng)用程序,默認(rèn)為當(dāng)前環(huán)境中的 Python
  • --no-pip:不需要安裝 pip,默認(rèn)為安裝
  • --clear:如果創(chuàng)建虛擬環(huán)境的目錄已經(jīng)有了其他虛擬環(huán)境,清楚重建

venv 模塊

Python3.3 之后,可以用模塊 venv 代替 virtualenv

python -m venv myvenv

在當(dāng)前目錄創(chuàng)建一個(gè)名為 myvenv 的虛擬環(huán)境

參數(shù):

  • --without-pip: 不需要安裝 pip,默認(rèn)為安裝
  • --clear:如果創(chuàng)建虛擬環(huán)境的目錄已經(jīng)有了其他虛擬環(huán)境,清楚重建

激活

虛擬環(huán)境創(chuàng)建好后,需要激活才能在當(dāng)前命令行中使用

source myvenv/bin/activate

退出虛擬環(huán)境很簡單,只需要執(zhí)行 deactivate 命令就行

服務(wù)器部署虛擬環(huán)境

一般部署流程是:

  1. 開發(fā)完成后,使用 pip freeze > requirements.txt 命令將項(xiàng)目的庫依賴導(dǎo)出,作為代碼的一部分

  2. 將代碼上傳到服務(wù)器

  3. 在服務(wù)器上創(chuàng)建一個(gè)虛擬環(huán)境

  4. 激活虛擬環(huán)境,執(zhí)行 pip install -r requirements.txt,安裝項(xiàng)目依賴

退出

deactivate

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為什么要使用虛擬環(huán)境? 虛擬環(huán)境又稱沙箱環(huán)境,Python虛擬環(huán)境的主要目的是為了給不同的工程創(chuàng)建互相獨(dú)立的運(yùn)行環(huán)...
    啊哈哈君啊閱讀 469評(píng)論 0 2
  • 在日常開發(fā)中,經(jīng)??赡苄枰煌膒ython版本,或者安裝不同的庫,這就意味著需要不同的虛擬環(huán)境來處理這個(gè)問題了。...
    一豆夫閱讀 765評(píng)論 0 0
  • 本文為《爬著學(xué)Python》系列第十三篇文章。 Python能在這幾年火起來,靠的不是網(wǎng)上一大片的爬蟲和服務(wù)器后端...
    SyPy閱讀 5,107評(píng)論 0 5
  • src : http://pythonguidecn.readthedocs.io/zh/latest/dev/v...
    阿o醒閱讀 6,440評(píng)論 0 3
  • 當(dāng)我們開發(fā)多個(gè)應(yīng)用程序時(shí),可能各應(yīng)用程序依賴不同版本的工具包。比如應(yīng)用A需要requests2.21.0 ,而應(yīng)用...
    浪子大俠閱讀 932評(píng)論 0 1

友情鏈接更多精彩內(nèi)容