成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

譯文
開發 前端
你在尋找一種輕松管理多個Python版本的方法嗎?那么,Pyenv適合您。

譯者 | 布加迪

審校 | 重樓

想要在不破壞開發環境的情況下,在上午嘗試最新Python版本的新特性,在午休時間瀏覽遺留的Python代碼庫嗎Pyenv可以這個忙。使用Pyenv,您可以安裝Python版本,在不同版本之間切換,并刪除不再需要的版本。

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

安裝Pyenv

第一步是安裝Pyenv。我用的是LinuxUbuntu 23.01。如果您使用Linux系統,安裝Pyenv的最簡單方法是運行以下curl命令

$ curl https://pyenv.run | bash

這將使用pyenv-installer安裝Pyenv

安裝完成后,系統提示您完成shell環境的設置以使用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

已準備好開始使用Pyenv!

注意如果使用MacWindows系統,查看有關如何安裝Pyenv的詳細說明https://github.com/pyenv/pyenv#installation。在Windows上,您需要在Windows Subsystem for LinuxWSL)中安裝Pyenv

使用Pyenv安裝Python版本

已經安裝了Pyenv,可以通過運行pyenv install命令來安裝特定的Python版本,像這樣

$ pyenv install version

執行以下命令查看已安裝的Python版本列表

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

還沒有安裝任何新版本,所以Python的唯一版本是系統版本,這里是Python 3.11

$ python3 -version
Python 3.11.4

不妨嘗試安裝Python 3.8和3.12。試著運行這個命令來安裝Python 3.8

$ pyenv install 3.8

第一次嘗試使用Pyenv安裝特定版本的Python時,可能會遇到錯誤,這是由于缺少一些構建依賴項。不用擔心這很容易解決!

一些故障排除提示

嘗試使用pyenv install命令在我的Linux發行版上安裝Pyenv時,由于缺少構建依賴項,我遇到了錯誤。

這個StackOverflow帖子包含有關為Pyenv安裝所需構建依賴項的有用信息。運行以下命令以安裝丟失的依賴項:

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

現在,您應該能夠安裝Python版本不會出現任何錯誤

$ pyenv install 3.8

注意:當您安裝Python 3時默認安裝最新的版本。但是以指定3.x用于安裝特定的Python版本。還可以運行pyenv install --list來列出所有可以安裝的Python版本,不過版本很多

同樣,運行pyenv install安裝Python 3.12

$ pyenv install 3.12

現在如果運行pyenv versions,除了系統版本外,還會看到Python 3.8和3.12

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

設置Python全局版本

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

但請注意將其設置為比較新的版本,以免在運行使用較新Python版本的項目時出現錯誤。

比如說,不妨看看如果將全局版本設置為Python 3.8.18會發生什么。

$ pyenv global 3.8.18

創建一個項目文件夾。在其中,用以下代碼創建一個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語句。因此,需要Python 3.10或更高版本才能成功運行此代碼。如果試著運行腳本,會得到以下錯誤

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

在本文例子中,系統Python是3.11版本,比較新。所以我可以將全局版本設置為系統Python版本,如下所示

$ pyenv global system

現在運行同一個腳本時,應該得到以下輸出

Output >>>
Not Found! Status code: 404

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

為項目設置本地Python版本

當您想要處理使用早期Python版本的項目時,希望安裝該版本以避免任何錯誤(比如不再支持的方法調用

假設您在處理項目A時使用Python 3.8,處理項目B時使用Python 3.10或更高版本,在這種情況下,可以在項目A的目錄中設置本地Python版本,如下所示:

$ pyenv local 3.8.18

可以運行python --version來檢查項目目錄Python版本

$ python --version
Python 3.8.18

這在處理較舊的Python代碼庫時特別有用。

卸載Python版本

如果不再需要Python版本,可以通過運行pyenv uninstall命令卸載它。假設不再需要Python 3.8.18,那么可以通過運行以下命令來卸載它

$ pyenv uninstall 3.8.18

您應該在終端看到類似的輸出

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

結語

但愿這篇關于Pyenv的入門教程對有所幫助。總結幾個最常見的命令以便快速查詢:

命令

功能

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設為全局Python版本

pyenv local 3.x

將您項目的本地Python版本設為3.x

pyenv uninstall 3.x.y

卸載Python 3.x的版本

Docker是一個很好的選擇,可以讓本地開發變得輕松,不用擔心依賴沖突但是每需要處理新項目使用Docker或其他容器化解決方案可能大材小用

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

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

責任編輯:華軒 來源: 51CTO
相關推薦

2020-05-25 17:40:00

MacpyenvPython

2013-09-12 15:36:31

2025-05-29 09:05:28

NVM開發版本管理工具

2022-05-18 08:05:20

pyenvPython解釋器

2022-06-06 14:54:44

PythonNuitka

2015-11-18 16:36:12

數據中心/華三

2015-03-18 10:59:23

AzureAzure管理工具云計算平臺

2021-01-24 22:46:07

Python開發程序員

2021-01-26 05:30:44

python程序員代碼

2022-02-11 07:45:10

Linuxsmem系統

2022-08-24 13:25:20

微軟Python小白神器

2012-11-08 10:22:32

BUG軟件測試

2010-06-03 18:07:21

2017-05-27 20:00:30

Python爬蟲神器PyQuery

2024-04-18 09:51:36

Python數據開發

2009-10-23 09:29:43

linux優勢特點

2019-01-24 13:37:14

JavaScript開發 小程序

2024-01-29 01:15:11

HelmKubernetesKustomize

2021-04-25 08:58:00

Go拍照云盤

2021-10-13 11:00:27

數據泄露漏洞信息安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲中国字幕 | 国产大片一区 | 中文字幕在线电影观看 | 色妹子综合网 | 久久久国产一区 | 91 在线 | 欧美日韩一区二区三区四区 | 卡通动漫第一页 | 亚洲一区二区三区福利 | 午夜视频大全 | 91精品国产美女在线观看 | 免费午夜视频在线观看 | 久久久久久久久毛片 | 精品在线一区二区 | 成人精品一区 | 影视先锋av资源噜噜 | 一区二区三区四区国产 | 色婷婷综合久久久中字幕精品久久 | 久久亚洲经典 | 成年精品 | 精品亚洲永久免费精品 | 久久aⅴ乱码一区二区三区 91综合网 | 久久精品91久久久久久再现 | 欧美电影免费网站 | 成人在线视频一区二区三区 | 国产中的精品av涩差av | 久久久无码精品亚洲日韩按摩 | 亚洲精品一区在线 | 欧美一区二区三区在线看 | 一区二区三区国产 | 在线观看久草 | 免费在线观看成人 | 黄色三级免费网站 | 日韩精品av一区二区三区 | 国产区视频在线观看 | 伊人激情网 | 日韩成年人视频在线 | 亚洲看片| 97精品超碰一区二区三区 | 精品乱码一区二区三四区 | 亚洲欧洲一区二区 |