新聞中心
VirtualEnv用于在一臺(tái)機(jī)器上創(chuàng)建多個(gè)獨(dú)立的python運(yùn)行環(huán)境,VirtualEnvWrapper為前者提供了一些便利的命令行上的封裝。

為思茅等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及思茅網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、思茅網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
首先,我們用pip安裝virtualenv:
$ pip3 install virtualenv
然后,假定我們要開(kāi)發(fā)一個(gè)新的項(xiàng)目,需要一套獨(dú)立的Python運(yùn)行環(huán)境,可以這么做:
第一步,創(chuàng)建目錄:
Mac:~ michael$ mkdir myproject
Mac:~ michael$ cd myproject/
Mac:myproject michael$
第二步,創(chuàng)建一個(gè)獨(dú)立的Python運(yùn)行環(huán)境,命名為venv:
Mac:myproject michael$ virtualenv --no-site-packages venv
Using base prefix '/usr/local/.../Python.framework/Versions/3.4'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Installing setuptools, pip, wheel...done.
命令virtualenv就可以創(chuàng)建一個(gè)獨(dú)立的Python運(yùn)行環(huán)境,我們還加上了參數(shù)–no-site-packages,這樣,已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包都不會(huì)復(fù)制過(guò)來(lái),這樣,我們就得到了一個(gè)不帶任何第三方包的“干凈”的Python運(yùn)行環(huán)境。
新建的Python環(huán)境被放到當(dāng)前目錄下的venv目錄。有了venv這個(gè)Python環(huán)境,可以用source進(jìn)入該環(huán)境:
Mac:myproject michael$ source venv/bin/activate
(venv)Mac:myproject michael$
注意到命令提示符變了,有個(gè)(venv)前綴,表示當(dāng)前環(huán)境是一個(gè)名為venv的Python環(huán)境。
下面正常安裝各種第三方包,并運(yùn)行python命令:
(venv)Mac:myproject michael$ pip install jinja2
...
Successfully installed jinja2-2.7.3 markupsafe-0.23
(venv)Mac:myproject michael$ python myapp.py
...
在venv環(huán)境下,用pip安裝的包都被安裝到venv這個(gè)環(huán)境下,系統(tǒng)Python環(huán)境不受任何影響。也就是說(shuō),venv環(huán)境是專門針對(duì)myproject這個(gè)應(yīng)用創(chuàng)建的。
退出當(dāng)前的venv環(huán)境,使用deactivate命令:
(venv)Mac:myproject michael$ deactivate
Mac:myproject michael$
此時(shí)就回到了正常的環(huán)境,現(xiàn)在pip或python均是在系統(tǒng)Python環(huán)境下執(zhí)行。
完全可以針對(duì)每個(gè)應(yīng)用創(chuàng)建獨(dú)立的Python運(yùn)行環(huán)境,這樣就可以對(duì)每個(gè)應(yīng)用的Python環(huán)境進(jìn)行隔離。
virtualenv是如何創(chuàng)建“獨(dú)立”的Python運(yùn)行環(huán)境的呢?原理很簡(jiǎn)單,就是把系統(tǒng)Python復(fù)制一份到virtualenv的環(huán)境,用命令source venv/bin/activate進(jìn)入一個(gè)virtualenv環(huán)境時(shí),virtualenv會(huì)修改相關(guān)環(huán)境變量,讓命令python和pip均指向當(dāng)前的virtualenv環(huán)境。
文章名稱:python三大神器virtualenv
當(dāng)前地址:http://m.5511xx.com/article/dhiojie.html


咨詢
建站咨詢
