Python 虛擬環(huán)境管理與使用

寫(xiě)在前面

關(guān)于Python虛擬環(huán)境管理,曾經(jīng)做為一名新人一直不以為意,心想反正都是我要用的庫(kù),全安裝在一起,要用直接導(dǎo)入,多好??墒牵髞?lái),懂得越來(lái)越多的我,不僅流下了悔恨了淚水呀,這一次,關(guān)于Python虛擬環(huán)境管理的方法一網(wǎng)打盡,喜歡哪種方式,大家自己選吧。再說(shuō)一次虛擬環(huán)境很重要。

一、使用virtualenv

1. 使用pip

pip install virtualenv

2. 創(chuàng)建運(yùn)行環(huán)境

virtualenv [虛擬環(huán)境名稱(chēng)] 
virtualenv venv

#如果不想使用系統(tǒng)的包,加上–no-site-packeages參數(shù)
virtualenv  --no-site-packages 創(chuàng)建路徑名 

3. 激活環(huán)境

linux:

$ cd venv
$ souce ./bin/activate

Windows 10:

> cd venv
> .\Scripts\activate.bat

4. 退出環(huán)境

linux:

$ deactivate

Windows 10:

> .\Scripts\deactivate.bat

5. 刪除環(huán)境

沒(méi)有使用virtualenvwrapper前,可以直接刪除venv文件夾來(lái)刪除環(huán)境

6. 使用環(huán)境

進(jìn)入環(huán)境后,一切操作和正常使用python一樣
安裝包使用pip install 包

二、使用Virtualenvwrapper

Virtaulenvwrapper是virtualenv的擴(kuò)展包,用于更方便管理虛擬環(huán)境,它可以做:

  • 將所有虛擬環(huán)境整合在一個(gè)目錄下
  • 管理(新增,刪除,復(fù)制)虛擬環(huán)境
  • 快速切換虛擬環(huán)境

1. 安裝

# on Windows
pip install virtualenvwrapper-win
# on macOS / Linux
pip install --user virtualenvwrapper
# then make Bash load virtualenvwrapper automatically
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

2. 創(chuàng)建虛擬環(huán)境

# on macOS/Linux:
mkvirtualenv --python=python3.6 venv
# on Windows
mkvirtualenv --python=python3 venv

3. 激活環(huán)境

workon #列出虛擬環(huán)境列表
workon [venv] #切換環(huán)境

4. 退出環(huán)境

deactivate

5. 刪除環(huán)境

rmvirtualenv venv

6. 其他有用指令

pip freeze #查看當(dāng)前安裝庫(kù)版本
#創(chuàng)建 requirements.txt 文件,其中包含了當(dāng)前環(huán)境中所有包及 各自的版本的簡(jiǎn)單列表
#保持部署相同,一鍵安裝所有包
pip install -r requirements.txt
pip freeze > requirements.txt 
lsvirtualenv    #列舉所有的環(huán)境
cdvirtualenv    #導(dǎo)航到當(dāng)前激活的虛擬環(huán)境的目錄中,相當(dāng)于pushd 目錄
cdsitepackages   # 和上面的類(lèi)似,直接進(jìn)入到 site-packages 目錄
lssitepackages     #顯示 site-packages 目錄中的內(nèi)容

三、 使用conda管理

conda可以直接創(chuàng)建不同python版本的虛擬環(huán)境。前面講的virtualenv只是指定創(chuàng)建不同python版本的虛擬環(huán)境,前提是你的電腦上已經(jīng)安裝了不同版本的python,與conda相比沒(méi)有conda靈活。

1. 安裝

下載anaconda安裝的python直接可以使用conda工具

2. 創(chuàng)建虛擬環(huán)境

創(chuàng)建不同的python版本,直接寫(xiě)出版本號(hào)就好了,還可以同時(shí)安裝想要的庫(kù)。

# Python 2.7  
$ conda create -n venv python=2.7  

# Python 3.4  
$ conda create -n venv python=3.4  

# Python 3.5  
$ conda create -n venv python=3.5 

3. 激活虛擬環(huán)境

#on windows
activate venv
#on linux
source activate venv

4. 退出虛擬環(huán)境

#on windows
deactivate
#on linux
source deactivate

5. 刪除虛擬環(huán)境

# 刪除一個(gè)已有環(huán)境
conda remove --name venv --all

6. 其他有用指令

# 列出系統(tǒng)存在虛擬環(huán)境
conda info -e
conda env list

# 查看當(dāng)前環(huán)境下已安裝的包
conda list

# 查看某個(gè)指定環(huán)境的已安裝包
conda list -n venv

# 查找package信息
conda search numpy

# 安裝package
conda install -n venv numpy
# 如果不用-n指定環(huán)境名稱(chēng),則被安裝在當(dāng)前激活環(huán)境
# 也可以通過(guò)-c指定通過(guò)某個(gè)channel安裝

# 更新package
conda update -n venv numpy

# 刪除package
conda remove -n venv numpy

四. 使用pipenv管理

pipenv是Python官方推薦的包管理工具。 它綜合了 virtualenv , pip 和 pyenv 三者的功能。能夠自動(dòng)為項(xiàng)目創(chuàng)建和管理虛擬環(huán)境。如果你使用過(guò)requests庫(kù),就一定會(huì)愛(ài)上這個(gè)庫(kù),因?yàn)槭峭粋€(gè)大神出品。
pipenv使用 Pipfile 和 Pipfile.lock 來(lái)管理依賴包,并且在使用pipenv添加或刪除包時(shí),自動(dòng)維護(hù) Pipfile 文件,同時(shí)生成 Pipfile.lock 來(lái)鎖定安裝包的版本和依賴信息,避免構(gòu)建錯(cuò)誤。相比pip需要手動(dòng)維護(hù)requirements.txt 中的安裝包和版本,具有很大的進(jìn)步。

1. 安裝

pip install pipenv

2. 創(chuàng)建虛擬環(huán)境

$ cd myproject
$ pipenv install # 創(chuàng)建環(huán)境
$ pipenv install requests # 或者直接安裝庫(kù)

如果不存在pipfile,會(huì)生成一個(gè)pipfile,并且如果有的庫(kù)添加會(huì)自動(dòng)編輯該文件,不會(huì)我們手動(dòng)更新requirements.txt文件了。

3. 激活Pipenv Shell

$ pipenv shell
$ python --version
最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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