python虛擬環境管理之virtualenv,virtualenvwrapper,pipenv,conda


虛擬環境的作用

使python環境擁有獨立的包,避免污染原本的python環境。為不同的項目創建不同的環境可以避免安裝的庫過於龐大和相互干擾。

例如你想在同一台機器上開發用python2和python3寫的2個項目就可以用虛擬環境進行隔離,又網站開發、爬蟲和科學計算所需要的包都不一樣也可以用虛擬環境。

下面有幾種虛擬環境管理工具自行選擇

virtualenv

安裝

pip install virtualenv

創建

mkdir myproject

cd myproject

virtualenv venv #不指定解釋器會默認選擇

virtualenv -p /usr/bin/python2.7 venv  #指定python2.7解釋器

virtualenv -p /usr/bin/python3.7 venv  #指定python3.7解釋器

使用

source venv/bin/activate #首先需要激活環境,之后安裝的所有包就全在這個環境中

deactivate #當在這個環境中工作完后可以退出環境

rm -rf venv #當不再需要這個環境后進行刪除

附上官方文檔,https://virtualenv.pypa.io/en/latest/userguide/

virtualenvwrapper

你可以在系統的任意地方創建虛擬環境,當下次需要這個某個環境的時候很難找,virtualenv不便於對環境的集中管理,virtualenvwrapper很好的解決了這個問題

安裝

pip install virtualenvwrapper 

安裝完成后的配置,修改~/.bash_profile

export WORKON_HOME=$HOME/envs #指定虛擬環境存放目錄

source /usr/local/bin/virtualenvwrapper.sh

運行配置文件

source ~/.bash_profile

創建

mkvirtualenv py2 #不指定,使用默認

mkvirtualenv --python=/usr/local/python3.7/bin/python py3 指定解釋器為3.7

mkvirtualenv -p python3.7 pynew 指定版本比較喜歡用這個

使用

workon  #可以查看所有的虛擬環境

workon pynew 激活虛擬環境(workon 后面+虛擬環境名)

deactivate #退出虛擬環境

rmvirtualenv pynew (刪除虛擬環境)

pipenv

安裝

pip install pipenv 

創建

mkdir myproject

cd myproject

pipenv install

pipenv  --three #指定系統的python3版本解釋器

pipenv --two #指定系統的python2版本解釋器

pipenv --python3.7 #指定系統的python3.7版本解釋器

使用

pipenv shell #激活虛擬環境

pipenv install numpy #安裝包

pipenv uninstall numpy #卸載包

pipenv --where #顯示環境路徑

pipenv --venv #顯示虛擬環境信息

pipenv --py #顯示解釋器信息

pipenv --rm #刪除當前虛擬環境

exit #退出虛擬環境

conda

Conda 是一個開源的軟件包管理系統和環境管理系統,用於安裝多個版本的軟件包及其依賴關系,並在它們之間輕松切換。

安裝可以下載一個科學計算包anaconda,怕麻煩的人可以直接安裝,自帶很多必須包

清華鏡像下載地址,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

創建

conda create --name py3 python=3.7

使用

conda env list #查看當前存在的虛擬環境

source activate py3 #激活虛擬環境 activate py3 windows下

conda install numpy #安裝包

source deactivate #退出虛擬環境

conda remove -n py3 --all #刪除虛擬環境

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM