新聞中心
使用pyenv和Vtualenv做環(huán)境隔離,使用jupyter方便我們學(xué)習(xí)
目前創(chuàng)新互聯(lián)建站已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、大通網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
新建用戶
所有操作都應(yīng)在單獨(dú)的用戶中進(jìn)行,不要使用root用戶
useradd python
Pyenv
安裝Pyenv
開發(fā)版本和所用包版本的隔離
github地址
安裝過程在CentOS中進(jìn)行,注意用到EPEL源
安裝git
yum install git -y
安裝依賴
yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
升級(jí)nss,同時(shí)保證系統(tǒng)時(shí)間正確,不然安裝pyenv可能報(bào)錯(cuò)
yum update nss
安裝pyenv
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
將下面的三行加入到~/.bash_profile
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~/.bash_profile
這樣當(dāng)用戶啟動(dòng)的時(shí)候,會(huì)執(zhí)行用戶的.bash_profile中的腳步,就會(huì)啟動(dòng)pyenv
安裝好的pyenv就在~/.pyenv中
Pyenv的使用
列出所有可用版本
pyenv instll --list
在線安裝指定版本(加-v可以查看詳細(xì)安裝過程)
pyenv install 3.5.3 -v
查看已安裝的所有版本(system為當(dāng)前系統(tǒng)自帶版本)
pyenv versions
這樣安裝較慢,為了提速,使用緩存方式安裝
在~/.pyenv目錄下,新建cache目錄,放入下載好的待安裝版本的文件,例如Python-3.6.3.tar.xz
pyenv install 3.6.3 -v
Pyenv的python版本控制
version 顯示當(dāng)前的python版本
versions 顯示所有已安裝的python版本,和當(dāng)前版本
global全局設(shè)置
$ pyenv global 3.5.3
可以看到所有受pyenv控制的窗口中都是3.5.3的python版本了
這里用global是作用于非root用戶python用戶上,如果是root用戶安裝,請(qǐng)不要使用global,否則影響太大。
比如CentOS就是使用Python2.X,root用戶下使用global就成了3.X,會(huì)帶來不好的影響
調(diào)整回系統(tǒng)默認(rèn)版本
$ pyenv global system
shell 會(huì)話設(shè)置
影響只作用于當(dāng)前會(huì)話
$ pyenv shell 3.6.2
local 本地設(shè)置
使用pyenv local設(shè)置從當(dāng)前工作目錄開始向下遞歸都繼承這個(gè)設(shè)置
pyenv local 3.6.2
Virtualenv 虛擬環(huán)境
為什么要使用虛擬環(huán)境?
因?yàn)閯偛攀褂玫腜ython環(huán)境都是一個(gè)公共的空間,如果多個(gè)項(xiàng)目使用不同的Python版本開發(fā),或者使用不同的Python版本部署運(yùn)行,或者使用了同樣的版本開發(fā)的但不同項(xiàng)目使用了不同版本的庫,等等這些問題都會(huì)帶來沖突。最好的解決辦法就是每一個(gè)項(xiàng)目獨(dú)立運(yùn)行自己的“獨(dú)立小環(huán)境”中。
我們新建一個(gè)目錄,接下來將這個(gè)目錄切換到Python 3.6.2的環(huán)境,與系統(tǒng)自帶的2.x環(huán)境不沖突
mkdir -p dzm/projects/test/
創(chuàng)建虛擬環(huán)境,使用呢Python 3.6.2版本創(chuàng)建出一個(gè)獨(dú)立的虛擬空間
pyenv virtualenv 3.6.2 py362
此時(shí)再使用pyenv versions就可以看到版本列表中名為py362的環(huán)境
將新建的目錄切換為py362環(huán)境
cd dzm/projects/test/
pyenv local py362
此時(shí)當(dāng)前目錄及其子目錄下面的python環(huán)境就變成了3.6.2版本
其它
不同環(huán)境的真實(shí)目錄
/home/python/.pyenv/versions/
每個(gè)環(huán)境所安裝的包都會(huì)在相應(yīng)的site-packages目錄中來
/home/python/.pyenv/versions/3.6.2/lib/python3.6/site-packages
安裝ipython
ipython是增強(qiáng)的交互式Python命令行工具
操作仍然在dzm/projects/test/目錄中,此時(shí)ipython也是安裝到這個(gè)環(huán)境中的,與外面的環(huán)境相互隔離
pip install ipython
ipython
pip通用配置
pip是Python的包管理工具,3.x版本直接帶了,可以直接使用
和yum一樣為了使用國內(nèi)鏡像,做如下配置
Linux系統(tǒng)
$ mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
truste
windows系統(tǒng)
pip的配置文件在家目錄新建pip文件夾,在里面新建文本文件pip.ini,等同于linux環(huán)境的pip.conf
pip其它應(yīng)用
查看當(dāng)前環(huán)境都安裝了哪些包
pip list
將當(dāng)前環(huán)境的包的列表導(dǎo)出到一個(gè)文件
pip freeze > requirement
根據(jù)上面導(dǎo)出的列表安裝包
pip install -r requirement
(把虛擬環(huán)境包目錄里面的文件直接拷貝到新環(huán)境包目錄里也可以)
Jupyter
安裝Jupyter
是基于web的交互式筆記本,其中可以非常方便的使用python
安裝Jupyter,也會(huì)安裝ipython的
pip install jupyter
查看幫助
jupyter notebook --help
設(shè)置密碼(不然用網(wǎng)頁端瀏覽時(shí)就要輸入啟動(dòng)時(shí)的隨機(jī)密碼)
jupyter notebook password
啟動(dòng)(如果不自定0.0.0.0,那么啟動(dòng)后默認(rèn)綁定127.0.0.1,外部是無法瀏覽的,默認(rèn)8888端口)
jupyter notebook --ip=0.0.0.0
查看啟動(dòng)端口(默認(rèn)8888)
ss -tanl
查看本機(jī)IP地址
在windows系統(tǒng)中通過瀏覽器瀏覽ip:8888,輸入密碼后即可使用jupyter
文章名稱:在Linux環(huán)境安裝pyenv、Vtualenv虛擬環(huán)境和jupyter
網(wǎng)站URL:http://fisionsoft.com.cn/article/ppessg.html