官术网_书友最值得收藏!

2.4.2 利用virtualenv隔離項(xiàng)目

Python的第三方包成千上萬,在一個Python環(huán)境下開發(fā)時間越久、安裝的依賴越多,就越容易出現(xiàn)依賴包沖突的問題。為了解決這個問題,開發(fā)者們開發(fā)出了virtualenv,來搭建虛擬且獨(dú)立的Python環(huán)境。這樣就可以使每個項(xiàng)目環(huán)境與其他項(xiàng)目獨(dú)立開來,保持環(huán)境的干凈,解決包沖突問題。virtualenv的作用簡單總結(jié)就是:為某個應(yīng)用提供了隔離的Python運(yùn)行環(huán)境,解決不同應(yīng)用間多版本的沖突問題。

Mac系統(tǒng)下安裝pip的方法較為簡單,直接使用sudo pip install virtualenv安裝即可。

筆者的工作目錄在/Users/yuhongchun/data下,首先建立一個名為myenvpy的目錄,然后創(chuàng)建一個獨(dú)立的Python虛擬環(huán)境,命名為sandbox,命令如下:


virtualenv --no-site-packages venv

命令執(zhí)行結(jié)果如下:


New python executable in /Users/yuhongchun/data/myenvpy/venv/bin/python
Installing setuptools, pip, wheel...
done.

進(jìn)入sandbox目錄,發(fā)現(xiàn)里面多了如下三個目錄:


bin  include  lib

激活該環(huán)境比較簡單,命令如下:


source bin/active

命令顯示結(jié)果如下:


(sandbox) [yuhongchun@yuhongchundeMacBook-Pro sandbox]$

此結(jié)果表明已經(jīng)進(jìn)入了sandbox虛擬環(huán)境,查看Python版本:


Python 2.7.10

我們要在此環(huán)境下部署應(yīng)用,例如安裝IPython和requests第三方類庫,命令如下:


pip install -i http://pypi.douban.com/simple  --trusted-host=pypi.douban.com ipython==5.4.0 ansible==1.9.6

注意

Python 2.7不支持高版本的IPython,所以這里必須指定版本。

然后查看pip的庫資源,命令如下:


pip freeze >requirements.txt

requirements.txt文件的內(nèi)容如下:


ipython==5.4.0
ipython-genutils==0.2.0
Jinja2==2.10.1
MarkupSafe==1.1.1
paramiko==2.6.0
pathlib2==2.3.4
pexpect==4.7.0
pickleshare==0.7.5
prompt-toolkit==1.0.16
ptyprocess==0.6.0
pycparser==2.19
pycrypto==2.6.1
Pygments==2.4.2
PyNaCl==1.3.0
PyYAML==5.1.2
scandir==1.10.0
selenium==3.8.1
simplegeneric==0.8.1
six==1.12.0
traitlets==4.3.2
wcwidth==0.1.7

退出此環(huán)境的方法也很簡單,直接輸入deactivate命令,命令顯示結(jié)果如下:


deactivate

正常情況下會顯示如下終端符:


[yuhongchun@yuhongchundeMacBook-Pro sandbox]$

主站蜘蛛池模板: 久治县| 行唐县| 湄潭县| 思茅市| 九台市| 来宾市| 静宁县| 巴中市| 白沙| 成安县| 隆德县| 屯留县| 乡宁县| 大荔县| 兴业县| 彭山县| 泰安市| 监利县| 昌邑市| 鸡东县| 视频| 肃南| 麻阳| 自治县| 衡南县| 郑州市| 巴彦淖尔市| 新民市| 封开县| 鄂伦春自治旗| 巴林右旗| 临桂县| 佛学| 乐陵市| 札达县| 石家庄市| 资兴市| 方城县| 阿克苏市| 安化县| 宜都市|