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]$
- Puppet實(shí)戰(zhàn)
- 阿里云數(shù)字新基建系列:云原生操作系統(tǒng)Kubernetes
- Arch Linux Environment Setup How-to
- SOA實(shí)踐者說
- Kubernetes網(wǎng)絡(luò)權(quán)威指南:基礎(chǔ)、原理與實(shí)踐
- Installing and Configuring Windows 10:70-698 Exam Guide
- Dreamweaver CS5.5 Mobile and Web Development with HTML5,CSS3,and jQuery
- 新編電腦辦公(Windows 10+ Office 2013版)從入門到精通
- Learn CUDA Programming
- Linux從入門到精通(視頻教學(xué)版)
- Raspberry Pi入門指南
- Windows 8完全自學(xué)手冊
- Linux指令從初學(xué)到精通
- Android Telephony原理解析與開發(fā)指南
- 深入理解Android:卷III