Python虛擬環(huán)境virtualenv的安裝與使用詳解
前言
動(dòng)態(tài)語(yǔ)言Ruby、Python都有自己的虛擬環(huán)境,虛擬環(huán)境是程序執(zhí)行時(shí)的獨(dú)立執(zhí)行環(huán)境,在同一臺(tái)服務(wù)器中可以創(chuàng)建不同的虛擬環(huán)境供不同的系統(tǒng)使用,項(xiàng)目之間的運(yùn)行環(huán)境保持獨(dú)立性而相互不受影響。例如項(xiàng)目可以在基于Python2的環(huán)境中運(yùn)行,而項(xiàng)目B可以在基于Python3的環(huán)境中運(yùn)行。Python通virtualenv工具管理虛擬環(huán)境。
安裝 virtualenv
$ pip install virtualenv
使用方法
$ cd my_project_folder $ virtualenv venv
執(zhí)行完命令后它會(huì)在當(dāng)前目錄下創(chuàng)建文件夾,這個(gè)文件夾包含一些Python執(zhí)行文件,以及pip副本,用于安裝其他的packges。
. ├── bin │ ├── activate │ ├── activate.csh │ ├── activate.fish │ ├── activate_this.py │ ├── easy_install │ ├── easy_install-3.5 │ ├── pip │ ├── pip3 │ ├── pip3.5 │ ├── python -> python3 │ ├── python3 │ ├── python3.5 -> python3 │ └── wheel ├── include │ └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m └── lib └── python3.5
此外在創(chuàng)建env的時(shí)候可以選擇指定的Python解釋器,例如下面是基于Python3創(chuàng)建的虛擬環(huán)境
$ virtualenv -p /usr/local/bin/python3 venv
默認(rèn)情況下,虛擬環(huán)境會(huì)依賴(lài)系統(tǒng)環(huán)境中的site packages,就是說(shuō)系統(tǒng)中已經(jīng)安裝好的第三方package也會(huì)安裝在虛擬環(huán)境中,如果不想依賴(lài)這些package,那么可以加上參數(shù) --no-site-packages建立虛擬環(huán)境
virtualenv --no-site-packages [虛擬環(huán)境名稱(chēng)]
激活虛擬環(huán)境
cd env source ./bin/activate
激活成功后,在命令行會(huì)顯示虛擬環(huán)境的名稱(chēng),類(lèi)似((env)Your-Computer:your_project UserName$)
退出虛擬環(huán)境
$ deactivate
如果想刪除虛擬環(huán)境,那么直接運(yùn)行rm -rf venv/命令即可。
在虛擬環(huán)境安裝Python packages
Virtualenv 附帶有pip安裝工具,因此需要安裝的packages可以直接運(yùn)行:
pip install [套件名稱(chēng)]
如果沒(méi)有啟動(dòng)虛擬環(huán)境,系統(tǒng)環(huán)境也安裝了pip工具,那么packages將被安裝在系統(tǒng)環(huán)境中,為了避免發(fā)生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
如果在沒(méi)開(kāi)啟虛擬環(huán)境時(shí)運(yùn)行pip,就會(huì)提示錯(cuò)誤:
Could not find an activated virtualenv (required).
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的擴(kuò)展包,用于更方便管理虛擬環(huán)境,它可以做:
1. 將所有虛擬環(huán)境整合在一個(gè)目錄下
2. 管理(新增,刪除,復(fù)制)虛擬環(huán)境
3. 切換虛擬環(huán)境
4. ...
安裝Virtualenvwrapper
安裝Virtualenvwrapper前需要virtualenv已近安裝
$ pip install virtualenvwrapper
此時(shí)還不能使用virtualenvwrapper,默認(rèn)virtualenvwrapper安裝在/usr/local/bin下面,實(shí)際上你需要運(yùn)行virtualenvwrapper.sh文件才行,先別急,打開(kāi)這個(gè)文件看看,里面有安裝步驟,我們照著操作把環(huán)境設(shè)置好。
1、創(chuàng)建目錄用來(lái)存放虛擬環(huán)境
mkdir $HOME/Envs
編輯~/.zshrc或~/.bashrc(根據(jù)你使用shell類(lèi)型決定)
export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 運(yùn)行:
$ source ~/.zshrc
此時(shí)virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:
1、列出虛擬環(huán)境列表
workon 或者 lsvirtualenv
新建虛擬環(huán)境
mkvirtualenv [虛擬環(huán)境名稱(chēng)]
2、啟動(dòng)/切換虛擬環(huán)境
workon [虛擬環(huán)境名稱(chēng)]
3、刪除虛擬環(huán)境
rmvirtualenv [虛擬環(huán)境名稱(chēng)]
4、離開(kāi)虛擬環(huán)境,和virutalenv一樣的命令
deactivate
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家腳本之家的支持。
相關(guān)文章
Effective Python bytes 與 str 的區(qū)別
這篇文章主要介紹了Effective Python bytes 與 str 的區(qū)別,Python 有兩種類(lèi)型可以表示字符序列,下面圍繞Python bytes 與 str 的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下2021-11-11
對(duì)python for 文件指定行讀寫(xiě)操作詳解
今天小編就為大家分享一篇對(duì)python for 文件指定行讀寫(xiě)操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Anaconda切換python版本常見(jiàn)的幾種實(shí)現(xiàn)方法
最近用Anaconda比較多,因?yàn)樗锩娴陌苋?下面這篇文章主要介紹了Anaconda切換python版本常見(jiàn)的幾種實(shí)現(xiàn)方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-08-08
Python編寫(xiě)百度貼吧的簡(jiǎn)單爬蟲(chóng)
這篇文章主要介紹了Python編寫(xiě)百度貼吧的簡(jiǎn)單爬蟲(chóng),簡(jiǎn)單實(shí)現(xiàn)了下載對(duì)應(yīng)頁(yè)碼的頁(yè)面并存為以當(dāng)前時(shí)間命名的html文件,這里分享給大家,拋磚引玉。2015-04-04
Flask的圖形化管理界面搭建框架Flask-Admin的使用教程
Flask-Admin是一個(gè)為Python的Flask框架服務(wù)的微型框架,可以像Django-Admin那樣為用戶(hù)生成Model層面的數(shù)據(jù)管理界面,接下來(lái)就一起來(lái)看一下Flask的圖形化管理界面搭建框架Flask-Admin的使用教程2016-06-06
Python代碼覆蓋率統(tǒng)計(jì)工具coverage.py用法詳解
這篇文章主要介紹了Python代碼覆蓋率統(tǒng)計(jì)工具coverage.py用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

