佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 一文讀懂Python版本管理工具Pyenv使用

一文讀懂Python版本管理工具Pyenv使用

熱門標(biāo)簽:銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求 網(wǎng)站文章發(fā)布 智能手機(jī) 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 鐵路電話系統(tǒng) 服務(wù)器配置

pyenv簡(jiǎn)單介紹

在日常運(yùn)維中, 經(jīng)常遇到這樣的情況: 系統(tǒng)自帶的Python是2.x,而業(yè)務(wù)部署需要Python 3.x 環(huán)境, 此時(shí)需要在系統(tǒng)中安裝多個(gè)Python版本,但又不能影響系統(tǒng)自帶的Python 版本,即需要實(shí)現(xiàn)Python的多版本環(huán)境共存, pyenv就是這樣一個(gè)Python版本管理器, 可以同時(shí)管理多個(gè)python版本共存! 簡(jiǎn)單的說,pyenv 可以根據(jù)需求使用戶在系統(tǒng)里安裝和管理多個(gè)Python 版本:

- 配置當(dāng)前用戶的python的版本;
- 配置當(dāng)前shell的python版本;
- 配置某個(gè)項(xiàng)目(目錄及子目錄)的python版本;
- 配置多個(gè)虛擬環(huán)境.

由于python的各種優(yōu)點(diǎn),當(dāng)前學(xué)習(xí)及使用python的人越來越多, 學(xué)習(xí)python有一個(gè)不容忽視的問題就是python的版本問題! 到現(xiàn)在為止,python的版本有很多,但是問題在于python2與python3的區(qū)別。python3的對(duì)一些模塊進(jìn)行了改變,導(dǎo)致了python2寫的代碼有的不被python3兼容,從而導(dǎo)致程序運(yùn)行報(bào)錯(cuò)。因此,在學(xué)習(xí)和工作中使用python的時(shí)候,最好是安裝一個(gè)pyenv管理器, 多安裝幾個(gè)python版本進(jìn)行管理, 然后再針對(duì)不同項(xiàng)目安裝各自項(xiàng)目的python虛擬環(huán)境, 相互隔離, 這樣便于使用和管理。

pyenv工作原理

pyenv是利用系統(tǒng)環(huán)境變量PATH的優(yōu)先級(jí),劫持python的命令到pyenv上,根據(jù)用戶所在的環(huán)境或目錄,使用不同版本的python。

下面看看Python版本管理工具Pyenv使用

  • pyenv:管理 Python 本身的多個(gè)版本;
  • pyenv-virtualenv:管理不同版本 Python 的虛擬環(huán)境;

linux安裝

1. 首先安裝所需依賴,在Ubuntu/Debian/Mint(Debian系)上:

sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \

libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \

libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

2. 接著執(zhí)行

$ curl https://pyenv.run | bash

3. 重啟shell

exec $SHELL

4. 查看~/.bashrc文件,如果文件最末尾處沒有以下三行代碼,則在末尾處追加以下內(nèi)容。如果有,忽略步驟4。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

接著執(zhí)行: source ~/.bashrc
最后重啟shell以生效: exec "$SHELL"

win10安裝

1. 點(diǎn)擊以下地址,下載所需文件:https://github.com/pyenv-win/pyenv-win/archive/master.zip

2. 在home目錄下創(chuàng)建 .pyenv 文件夾,解壓剛才下載的文件,將其中的pyenv-win文件夾整個(gè)移動(dòng)至 home/.pyenv 文件夾下

3. 接著打開powershell或者windows terminal,逐行輸入并回車以下命令

[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")

使用

pyenv常用命令

# 查看pyenv當(dāng)前支持哪些python版本
pyenv install --list
 
# 安裝指定的python版本
pyenv install xxx
 
# 列出本地pyenv中所有可用的python版本
pyenv versions
 
# 卸載某個(gè)版本
pyenv uninstall 3.9.1
 
# 為所有已安裝的可執(zhí)行文件創(chuàng)建shims,因此,每當(dāng)你增刪了Python版本或帶有可執(zhí)行文件的包(如pip以后,都應(yīng)該執(zhí)行一次本命令)
pyenv rehash

使用pyenv安裝指定的python版本

在線安裝

離線安裝

1. 首先下載離線的包,如3.7.5的網(wǎng)址為: https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz

2. 接著在home的.pyenv目錄下建一個(gè)cache的文件夾,將下載下來的包移動(dòng)至這個(gè)文件夾

在命令行中cd進(jìn)這個(gè)目錄,然后執(zhí)行pyenv install 3.7.5即可

切換python版本

  1. pyenv global xxx  - 全局環(huán)境,在未再次使用 global切換環(huán)境之前,一直使用此環(huán)境
  2. pyenv local xxx -  本次登錄環(huán)境。重啟后,則環(huán)境失效,并返回當(dāng)前global的環(huán)境
  3. pyenv shell xxx -  局部(臨時(shí))環(huán)境。關(guān)閉命令行窗口,則環(huán)境失效,并返回當(dāng)前global的環(huán)境

python版本的優(yōu)先級(jí)順序:shell > local> global
注:pyenv會(huì)從當(dāng)前目錄開始向上逐級(jí)查找.python-versiob文件,直到根目錄為止,若找不到,則使用global版本。

pyenv which python  # 查看當(dāng)前的python版本具體的位置

完全刪除pyenv

rm -fr ~/.pyenv

并且清理掉~/.bashrc文件中寫入末尾的三行
接著執(zhí)行: source ~/.bashrc
最后重啟shell以生效: exec "$SHELL"

以上就是一文讀懂Python版本管理工具Pyenv使用的詳細(xì)內(nèi)容,更多關(guān)于Python版本管理Pyenv使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python pyenv多版本管理工具的使用
  • Python中Pyenv virtualenv插件的使用
  • Python使用pyenv實(shí)現(xiàn)多環(huán)境管理
  • python多環(huán)境切換及pyenv使用過程詳解
  • 詳解pyenv下使用python matplotlib模塊的問題解決
  • 詳解使用 pyenv 管理多個(gè)版本 python 環(huán)境

標(biāo)簽:紅河 河南 沈陽 新疆 長(zhǎng)治 滄州 樂山 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一文讀懂Python版本管理工具Pyenv使用》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    西乡县| 洛阳市| 连江县| 左权县| 荆门市| 柳州市| 南江县| 祁阳县| 法库县| 福鼎市| 永新县| 定远县| 太仓市| 山丹县| 永兴县| 若羌县| 临湘市| 鞍山市| 乳山市| 黄浦区| 长沙县| 沈阳市| 东丰县| 湟源县| 蕲春县| 玛多县| 华安县| 马尔康县| 汽车| 寻甸| 南投县| 伊通| 灵石县| 雷山县| 大姚县| 公安县| 扬中市| 宁陵县| 弋阳县| 西丰县| 大邑县|