av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

管理眾多Python版本的神器:Pyenv

譯者 | 布加迪

審校 | 重樓

想要在不破壞開發(fā)環(huán)境的情況下,在上午嘗試最新Python版本的新特性,在午休時(shí)間瀏覽遺留的Python代碼庫(kù)嗎?Pyenv可以幫這個(gè)忙。使用Pyenv,您可以安裝Python版本,在不同版本之間切換,并刪除不再需要的版本。

本教程介紹了Pyenv的安裝和使用。

安裝Pyenv

第一步是安裝Pyenv。我用的是Linux:Ubuntu 23.01。如果您使用Linux系統(tǒng),安裝Pyenv的最簡(jiǎn)單方法是運(yùn)行以下curl命令:

$ curl https://pyenv.run | bash

這將使用pyenv-installer安裝Pyenv。

安裝完成后,系統(tǒng)提示您完成shell環(huán)境的設(shè)置以使用Pyenv。為此,可以將以下命令添加到~/.bashrc文件:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

您已準(zhǔn)備好開始使用Pyenv了!

注意:如果您使用Mac或Windows系統(tǒng),查看有關(guān)如何安裝Pyenv的詳細(xì)說(shuō)明:https://github.com/pyenv/pyenv#installation。在Windows上,您需要在Windows Subsystem for Linux(WSL)中安裝Pyenv。

使用Pyenv安裝Python版本

您已經(jīng)安裝了Pyenv,可以通過(guò)運(yùn)行pyenv install命令來(lái)安裝特定的Python版本,就像這樣:

$ pyenv install version

執(zhí)行以下命令,查看已安裝的Python版本列表:

$ pyenv versions
* system (set by /home/balapriya/.pyenv/version)

我還沒有安裝任何新版本,所以Python的唯一版本是系統(tǒng)版本,這里是Python 3.11:

$ python3 -version
Python 3.11.4

不妨嘗試安裝Python 3.8和3.12。試著運(yùn)行這個(gè)命令來(lái)安裝Python 3.8:

$ pyenv install 3.8

第一次嘗試使用Pyenv安裝特定版本的Python時(shí),可能會(huì)遇到錯(cuò)誤,這是由于缺少一些構(gòu)建依賴項(xiàng)。不用擔(dān)心,這很容易解決!

一些故障排除提示

嘗試使用pyenv install命令在我的Linux發(fā)行版上安裝Pyenv時(shí),由于缺少構(gòu)建依賴項(xiàng),我遇到了錯(cuò)誤。

這個(gè)StackOverflow帖子包含有關(guān)為Pyenv安裝所需構(gòu)建依賴項(xiàng)的有用信息。運(yùn)行以下命令以安裝丟失的依賴項(xiàng):

$ apt-get install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev

現(xiàn)在,您應(yīng)該能夠安裝Python版本,不會(huì)出現(xiàn)任何錯(cuò)誤:

$ pyenv install 3.8

注意:當(dāng)您安裝Python 3時(shí),默認(rèn)安裝最新的版本。但是您也可以指定3.x,用于安裝特定的Python版本。還可以運(yùn)行pyenv install --list來(lái)列出所有可以安裝的Python版本,不過(guò)版本很多。

同樣,運(yùn)行pyenv install以安裝Python 3.12:

$ pyenv install 3.12

現(xiàn)在如果您運(yùn)行pyenv versions,除了系統(tǒng)版本外,還會(huì)看到Python 3.8和3.12:

$ pyenv versions
* system (set by /home/balapriya/.pyenv/version)
3.8.18
3.12.0

設(shè)置Python全局版本

使用Pyenv,您可以設(shè)置全局Python版本。顧名思義,全局版本是您在命令行使用Python時(shí)所使用的Python版本。

但請(qǐng)注意將其設(shè)置為比較新的版本,以免在運(yùn)行使用較新Python版本的項(xiàng)目時(shí)出現(xiàn)錯(cuò)誤。

比如說(shuō),不妨看看如果將全局版本設(shè)置為Python 3.8.18會(huì)發(fā)生什么。

$ pyenv global 3.8.18

創(chuàng)建一個(gè)項(xiàng)目文件夾。在其中,用以下代碼創(chuàng)建一個(gè)main.py文件:

# main.py

def handle_status_code(status_code):
 match status_code:
 case 200:
 print(f"Success! Status code: {status_code}")
 case 404:
 print(f"Not Found! Status code: {status_code}")
 case 500:
 print(f"Server Error! Status code: {status_code}")
 case _:
 print(f"Unhandled status code: {status_code}")

status_code = 404 # oversimplification, yes. handle_status_code(status_code)

如您所見,這段代碼使用了Python 3.10中引入的match-case語(yǔ)句。因此,需要Python 3.10或更高版本才能成功運(yùn)行此代碼。如果您試著運(yùn)行腳本,會(huì)得到以下錯(cuò)誤:

File "main.py", line 2
 match status_code:
  ^
SyntaxError: invalid syntax

在本文例子中,系統(tǒng)Python是3.11版本,比較新。所以我可以將全局版本設(shè)置為系統(tǒng)Python版本,如下所示:

$ pyenv global system

當(dāng)您現(xiàn)在運(yùn)行同一個(gè)腳本時(shí),應(yīng)該會(huì)得到以下輸出:

Output >>>
Not Found! Status code: 404

如果您的系統(tǒng)Python是舊版本,比如Python 3.6或更早版本,安裝更新版的Python并將其設(shè)置為全局版本將大有幫助。

為項(xiàng)目設(shè)置本地Python版本

當(dāng)您想要處理使用早期Python版本的項(xiàng)目時(shí),希望安裝該版本以避免任何錯(cuò)誤(比如不再支持的方法調(diào)用)。

假設(shè)您在處理項(xiàng)目A時(shí)想使用Python 3.8,處理項(xiàng)目B時(shí)想使用Python 3.10或更高版本,在這種情況下,就可以在項(xiàng)目A的目錄中設(shè)置本地Python版本,如下所示:

$ pyenv local 3.8.18

您可以運(yùn)行python --version來(lái)檢查項(xiàng)目目錄中的Python版本:

$ python --version
Python 3.8.18

這在處理較舊的Python代碼庫(kù)時(shí)特別有用。

卸載Python版本

如果不再需要Python版本,可以通過(guò)運(yùn)行pyenv uninstall命令卸載它。假設(shè)不再需要Python 3.8.18,那么可以通過(guò)運(yùn)行以下命令來(lái)卸載它:

$ pyenv uninstall 3.8.18

您應(yīng)該在終端會(huì)看到類似的輸出:

pyenv: remove /home/balapriya/.pyenv/versions/3.8.18? [y|N] y
pyenv: 3.8.18 uninstalled

結(jié)語(yǔ)

但愿這篇關(guān)于Pyenv的入門教程對(duì)您有所幫助??偨Y(jié)幾個(gè)最常見的命令以便快速查詢:

命令

功能

pyenv versions

列出目前已安裝的所有Python版本

pyenv install –list

列出可以安裝的所有Python版本

pyenv install 3.x

安裝Python 3.x的最新版

pyenv install 3.x.y

安裝Python 3.x的版本y

pyenv global 3.x

將Python 3.x設(shè)為全局Python版本

pyenv local 3.x

將您項(xiàng)目的本地Python版本設(shè)為3.x

pyenv uninstall 3.x.y

卸載Python 3.x的版本

Docker是一個(gè)很好的選擇,可以讓本地開發(fā)變得輕松,不用擔(dān)心依賴項(xiàng)沖突,但是每當(dāng)需要處理新項(xiàng)目就使用Docker或其他容器化解決方案可能是大材小用。

因此,我認(rèn)為能夠在命令行中安裝、管理和切換Python版本仍然有幫助。您還可以了解pyenv-virtualenv插件以創(chuàng)建和管理虛擬環(huán)境。

原文標(biāo)題:Too Many Python Versions to Manage? Pyenv to the Rescue,作者:Bala Priya C


分享文章:管理眾多Python版本的神器:Pyenv
本文來(lái)源:http://uogjgqi.cn/article/cdhhged.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流