virtualenv使用場景
當(dāng)開發(fā)成員負(fù)責(zé)多個(gè)項(xiàng)目的時(shí)候侠畔,每個(gè)項(xiàng)目安裝的庫又是有很多差距的時(shí)候结缚,會(huì)使用虛擬環(huán)境將每個(gè)項(xiàng)目的環(huán)境給隔離開來。比如软棺,在有一個(gè)老項(xiàng)目已經(jīng)開發(fā)維護(hù)了3年了掺冠,里面很多庫都是比較老的版本了。例如python使用的是2.7版本的。但是新項(xiàng)目使用的python版本是3.6的德崭。為了解決這種項(xiàng)目執(zhí)行環(huán)境的沖突斥黑,所以引入了虛擬環(huán)境virtualenv。
當(dāng)然除了virtualenv可以起到隔離環(huán)境的作用眉厨,還有其他技術(shù)方案來實(shí)現(xiàn)锌奴,而且上線流程簡單,大大減輕運(yùn)維人員的出錯(cuò)率憾股,比如每一個(gè)項(xiàng)目使用一個(gè)docker鏡像鹿蜀,在鏡像中去安裝項(xiàng)目所需的環(huán)境,庫版本等等服球。
python環(huán)境的配置
- 在cmd中能通過python去啟動(dòng)茴恰,如果不行直接跳到第三步
-
在cmd中能通過pip3啟動(dòng)安裝軟件,如果不行直接跳到第三步
3.配置python環(huán)境和pip環(huán)境
確認(rèn)pip安裝成功斩熊,如果Scritp文件夾下沒有pip可執(zhí)行文件往枣,則執(zhí)行第五步。
由于python3.6安裝以后粉渠,在Scripts文件中沒有pip的可執(zhí)行軟件分冈,需要輸入一下命令進(jìn)行安裝
python -m ensurepip
注:現(xiàn)在在python的安裝文件夾Scripts下就有pip.exe以及easy_install.exe等可執(zhí)行文件了,就可以使用pip安裝啦~
windows中安裝使用
1霸株、安裝virtualenv
pip3 install virtualenv
注意:此處需要使用管理員權(quán)限雕沉,否則會(huì)報(bào)權(quán)限之類的錯(cuò)誤。如下圖是我切換至管理員權(quán)限之后再次執(zhí)行該命令的界面:
2去件、創(chuàng)建一個(gè)新的虛擬環(huán)境
virtualenv --no-site-packages djenv
命令注釋:virtualenv -參數(shù) 新的虛擬環(huán)境的名稱
提示:此處一般需要指定的是-p(python環(huán)境地址)和--no-site-packages(不使用本機(jī)已經(jīng)安裝的包)坡椒。因?yàn)槲业氖悄J(rèn)路徑,使用P參數(shù)的時(shí)候地址報(bào)錯(cuò)尤溜,就想到直接使用環(huán)境變量中的地址肠牲。即不指定,忽略-p靴跛,如上圖猜想成功。下圖為標(biāo)識(shí)出需要指定的參數(shù)渡嚣。
3梢睛、查看環(huán)境中安裝的包命令
pip list
pip freeze
進(jìn)入退出命令
進(jìn)入
cd djenv/Scripts
使用activate
命令 通過查看當(dāng)前環(huán)境中的包確認(rèn)是否成功進(jìn)入(事實(shí)上一般出現(xiàn)下圖前面的那個(gè)小括號,即可認(rèn)為進(jìn)入成功)
退出 deactivate
使用deactivate
命令 通過查看當(dāng)前環(huán)境中的包確認(rèn)是否成功進(jìn)入(事實(shí)上一般上圖前面的那個(gè)小括號消失识椰,即可認(rèn)為退出成功)
ubuntu中安裝使用
安裝virtualenv
apt-get install python-virtualenv
創(chuàng)建包含python3版本的虛擬環(huán)境
virtualenv -p /usr/bin/python3 env
env代表創(chuàng)建的虛擬環(huán)境的名稱
進(jìn)入/退出env
進(jìn)入 source env/bin/activate
退出 deactivate
pip使用
查看虛擬環(huán)境下安裝的所有的包
pip list
查看虛擬環(huán)境重通過pip安裝的包
pip freeze