1. 程式人生 > >在Linux環境安裝pyenv、Vtualenv虛擬環境和jupyter

在Linux環境安裝pyenv、Vtualenv虛擬環境和jupyter

sys 交互 cts evel package 單獨 令行 qlite 命令行工具

使用pyenv和Vtualenv做環境隔離,使用jupyter方便我們學習

新建用戶

所有操作都應在單獨的用戶中進行,不要使用root用戶

useradd python

Pyenv

安裝Pyenv

開發版本和所用包版本的隔離

github地址

安裝過程在CentOS中進行,註意用到EPEL源
安裝git

yum install git -y

安裝依賴

yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

升級nss,同時保證系統時間正確,不然安裝pyenv可能報錯

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

這樣當用戶啟動的時候,會執行用戶的.bash_profile中的腳步,就會啟動pyenv
安裝好的pyenv就在~/.pyenv中

Pyenv的使用

列出所有可用版本

pyenv instll --list

在線安裝指定版本(加-v可以查看詳細安裝過程)

pyenv install 3.5.3 -v

查看已安裝的所有版本(system為當前系統自帶版本)

pyenv versions

這樣安裝較慢,為了提速,使用緩存方式安裝
在~/.pyenv目錄下,新建cache目錄,放入下載好的待安裝版本的文件,例如Python-3.6.3.tar.xz

pyenv install 3.6.3 -v

Pyenv的python版本控制

version 顯示當前的python版本
versions 顯示所有已安裝的python版本,和當前版本

global全局設置

$ pyenv global 3.5.3

可以看到所有受pyenv控制的窗口中都是3.5.3的python版本了
這裏用global是作用於非root用戶python用戶上,如果是root用戶安裝,請不要使用global,否則影響太大。
比如CentOS就是使用Python2.X,root用戶下使用global就成了3.X,會帶來不好的影響
調整回系統默認版本

$ pyenv global system

shell 會話設置

影響只作用於當前會話

$ pyenv shell 3.6.2

local 本地設置

使用pyenv local設置從當前工作目錄開始向下遞歸都繼承這個設置

pyenv local 3.6.2

Virtualenv 虛擬環境

為什麽要使用虛擬環境?

因為剛才使用的Python環境都是一個公共的空間,如果多個項目使用不同的Python版本開發,或者使用不同的Python版本部署運行,或者使用了同樣的版本開發的但不同項目使用了不同版本的庫,等等這些問題都會帶來沖突。最好的解決辦法就是每一個項目獨立運行自己的“獨立小環境”中。

我們新建一個目錄,接下來將這個目錄切換到Python 3.6.2的環境,與系統自帶的2.x環境不沖突

mkdir -p dzm/projects/test/

創建虛擬環境,使用呢Python 3.6.2版本創建出一個獨立的虛擬空間

pyenv virtualenv 3.6.2 py362

此時再使用pyenv versions就可以看到版本列表中名為py362的環境

將新建的目錄切換為py362環境

cd dzm/projects/test/
pyenv local py362

此時當前目錄及其子目錄下面的python環境就變成了3.6.2版本

其它
不同環境的真實目錄

/home/python/.pyenv/versions/

每個環境所安裝的包都會在相應的site-packages目錄中來

/home/python/.pyenv/versions/3.6.2/lib/python3.6/site-packages

安裝ipython

ipython是增強的交互式Python命令行工具
操作仍然在dzm/projects/test/目錄中,此時ipython也是安裝到這個環境中的,與外面的環境相互隔離

pip install ipython
ipython

pip通用配置

pip是Python的包管理工具,3.x版本直接帶了,可以直接使用
和yum一樣為了使用國內鏡像,做如下配置

Linux系統

$ mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
truste

windows系統

pip的配置文件在家目錄新建pip文件夾,在裏面新建文本文件pip.ini,等同於linux環境的pip.conf

pip其它應用

查看當前環境都安裝了哪些包

pip list

將當前環境的包的列表導出到一個文件

pip freeze > requirement

根據上面導出的列表安裝包

pip install -r requirement

(把虛擬環境包目錄裏面的文件直接拷貝到新環境包目錄裏也可以)

Jupyter

安裝Jupyter

是基於web的交互式筆記本,其中可以非常方便的使用python

安裝Jupyter,也會安裝ipython的

pip install jupyter

查看幫助

jupyter notebook --help

設置密碼(不然用網頁端瀏覽時就要輸入啟動時的隨機密碼)

jupyter notebook password

啟動(如果不自定0.0.0.0,那麽啟動後默認綁定127.0.0.1,外部是無法瀏覽的,默認8888端口)

jupyter notebook --ip=0.0.0.0

查看啟動端口(默認8888)

ss -tanl

查看本機IP地址
在windows系統中通過瀏覽器瀏覽ip:8888,輸入密碼後即可使用jupyter

在Linux環境安裝pyenv、Vtualenv虛擬環境和jupyter