成人免费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系統

2012-11-08 10:22:32

BUG軟件測試

2022-08-24 13:25:20

微軟Python小白神器

2010-06-03 18:07:21

2009-10-23 09:29:43

linux優勢特點

2019-01-24 13:37:14

JavaScript開發 小程序

2017-05-27 20:00:30

Python爬蟲神器PyQuery

2024-04-18 09:51:36

Python數據開發

2021-04-25 08:58:00

Go拍照云盤

2024-01-29 01:15:11

HelmKubernetesKustomize

2021-10-13 11:00:27

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

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品人人做人人爽 | 国产精品美女久久久久久免费 | 国产精品久久久久久久久久三级 | 一级黄色毛片 | 欧美日韩亚洲国产 | 日韩乱码在线 | 国产片网站 | 亚洲一区国产精品 | 日韩中文在线视频 | 欧美福利精品 | 羞羞涩涩在线观看 | 日韩欧美在线免费观看 | 国产精品久久久久久久久免费丝袜 | 色综合久久天天综合网 | 亚洲精品一区二区三区蜜桃久 | 精品视频在线观看 | 久久久久久久久久久丰满 | 久久69精品久久久久久国产越南 | 99精品久久久久久中文字幕 | 嫩草视频在线免费观看 | 色爱综合网 | 亚洲视频在线观看 | 亚洲网站在线 | 久久成人精品 | 人人干人人干人人 | 少妇特黄a一区二区三区88av | 中文字幕一区二区三区精彩视频 | 欧美国产一区二区 | 成人精品一区二区三区中文字幕 | 成年人在线观看 | 国产福利二区 | 成人国产精品久久 | 久久88| 97精品久久 | 国产免费拔擦拔擦8x高清 | 操视频网站| 国产日韩精品视频 | 亚洲黄色网址视频 | 国产精品高清在线 | 亚洲人人舔人人 | 成人免费在线观看 |