pyenv管理多版本python和虛擬環境常用命令

2021-08-04 06:29:24 字數 3781 閱讀 7662

pyenv 的原理,簡單的說就是在系統path 最前面插入乙個 $(pyenv root)/shims 目錄。這樣, pyenv 就可以通過控制 shims 目錄中的python版本號,來靈活地切換至我們所需的python版本。

pyenv有多種安裝方法,大家可以去github的pyenv檢視,官方推薦用基於github的安裝方式。

我也是用這種方法來安裝的,這種方法同時安裝pyenv的多個外掛程式,很有用,而且python版本庫也是最新的。

安裝

curl -l

/pyenv-installer/master

/bin/pyenv-installer | bash

除了安裝pyenv之外,同時還安裝了以下外掛程式:

pyenv-doctor

pyenv-installer

pyenv-update

pyenv-virtualenv

pyenv-which-ext

安裝完成後,開啟~/.bashrc,把以下命令新增到系統環境變數:

export path=$home/.pyenv/bin:$path

eval

"$(pyenv init -)"

eval

"$(pyenv virtualenv-init -)"

然後執行source ~/.bashrc。

然後在命令列執行pyenv -v就可以檢視安裝的pyenv資訊了。

ps:為了確定pyenv是否正確安裝,可以執行pyenv doctor檢視。

公升級

pyenv update

解除安裝:

pyenv安裝在$pyenv_root(預設:~/.pyenv

)下,要解除安裝,直接移除目錄即可。

rm -rf ~/.pyenv
再在環境變數檔案刪除一下三行:

export path=$home/.pyenv/bin:$path

eval

"$(pyenv init -)"

eval

"$(pyenv virtualenv-init -)"

檢視pyenv版本資訊
pyenv -v
公升級pyenv
pyenv update

檢視可安裝的python版本
pyenv

install--

list

安裝指定版本的python環境
# 這裡我安裝3.6.2

# 同樣的,需要安裝一些依賴包,不然會報錯

yum install -y zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

pyenv install 3.6

.2

檢視系統中可用的python版本

# 處於啟用狀態的版本前面標了*

pyenv versions

檢視當前處於啟用狀態的版本
# 括號中內容表示這個版本是由哪條途徑啟用的(global、local、shell)

pyenv version

解除安裝乙個版本
pyenv uninstall 3.6.2
更新資料庫
# 一般安裝或解除安裝python版本最好更新一下資料庫

pyenv rehash

切換python版本
pyenv 有global(當前系統),local(當前目錄),shell三個等級來管理python環境。

優先順序shell > local > global

當前目錄中的 .python-version 配置優先於系統全域性的 ~/.pyenv/version 配置。

[root@localhost mx]# pwd

/root/mx

# 切換全域性python環境為系統版本(2.6.6)

[root@localhost mx]# pyenv global system

[root@localhost mx]# pyenv version

system (set by

/root/.pyenv/version)

[root@localhost mx]# python -v

python 2.6

.6# 切換此目錄python環境為3.6.2

[root@localhost mx]# pyenv local 3.6.2

[root@localhost mx]# pyenv version

3.6.2 (set by

/root/mx/.python-version)

[root@localhost mx]# pip -v

pip 9.0

.1 from /root/.pyenv/versions/3.6

.2/lib/python3.6/site-packages (python 3.6)

建立虛擬環境

我們一般會為乙個專案建立乙個虛擬環境,pyenv同樣可以實現類似virtualenv這樣的功能。

# 命令格式為pyenv virtualenv python_version project_name

[root@localhost ~]# pyenv virtualenv 3.6.2 myblog_py36

檢視虛擬環境列表
pyenv virtualenvs
[root@localhost ~]# pyenv virtualenvs

3.6.2/envs/myblog_py36 (created from /root/.pyenv/versions/3.6

.2) myblog_py36 (created from /root/.pyenv/versions/3.6

.2)

進入虛擬環境
pyenv active env_name

# 我們可以把專案目錄的local環境指定為建立的虛擬環境,這樣就可以用local或者activate兩種方法進入虛擬環境了。

[root@localhost ~]# pyenv activate myblog_py36

(myblog_py36) [root@localhost ~]# pip -v

pip 9.0

.1 from /root/.pyenv/versions/3.6

.2/envs/myblog_py36/lib/python3.6/site-packages (python 3.6)

退出虛擬環境
pyenv deactivate env_name
(myblog_py36) [root@localhost ~]# pyenv deactivate 

[root@localhost ~]# pyenv version

system (set by

/root/.pyenv/version)

[root@localhost ~]#

解除安裝虛擬環境
pyenv uninstall env_name

pyenv多版本管理

多版本管理 多虛擬環境virtualenv pyenv用於多個python版本的管理,virtualenv用於相同版本各種模組包環境的隔離 可能的依賴包 yum install gcc gcc c yum install readline devel yum install y bzip2 bzip...

Ubuntu通過Pyenv管理python版本

網上安裝使用pyenv的教程很多,但是實測有很多教程有坑,經過多家比較發現下面的教程可用,內容全面,與大家分享。首先安裝pyenv全家桶 配置環境變數到 bashrc中,配置完成後輸入source bashrc生效 1 export pyenv root home pyenv 2 export pa...

python多版本共存之pyenv

也許你開發中也會遇到需要不同版本的python,此時需要在系統中安裝多個,但又不能影響系統自帶的 python,即需要實現 python 的多版本共存。pyenv 就是這樣乙個 python 版本管理器 pyenv官方 git clone git pyenv echo export pyenv ro...