virtualenv
系統的python3或python2版本只有一個,所有的第三方包都安裝在site-packages目錄下。
假設project A需要使用django2.x,project B需要使用django3.x。這時就需要爲每個project創建獨立的環境,達到“隔離”的效果。
virtualenv就是創建獨立運行環境的工具。
安裝
pip install virtualenv
# 如果提示:permission denied ,sudo pip install virtualenv
使用
# 創建一個目錄用於存放project
mkdir venv-demo
cd venv-demo
# 創建虛擬環境
virtualenv my_venv
# 激活虛擬環境
source my_venv/bin/activate
# 激活成功後,路徑前會有前綴(my_venv)
deactivate
# 停用虛擬環境,注意路徑前面已經沒有(my_venv)
virtualenv提供的功能有限,主要缺點如下:
-
無法通過pip來升級
-
無法爲任意安裝的版本創建虛擬環境並自動發現他們
virtualenvwrapper應運而生,它是一系列virtualenv工具擴展,這些擴展包括創建和刪除虛擬環境,以及管理開發工作流。
從而使一次處理多個項目變的更加容易且不會引起衝突。
virtualenvwrapper
安裝
pip install virtualenvwrapper
配置與使用
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
# 創建虛擬環境envw
mkvirtualenv envw
# 創建虛擬環境envw1
mkvirtualenv envw1
使用workon命令不僅能進入到環境中,還可以從一個環境切換到另一個環境中去
workon envw
# 進入成功後路徑的前綴會有前綴(envw)
使用lssitepackages命令查看新的包
lssitepackages
# 環境envw中使用workon命令切換到envw1中
workon envw1
退出虛擬環境
deactivate