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

如何在Mac上使用pyenv運行多個版本的Python

系統 后端
如果你在 macOS 上運行的項目需要沒有安裝的 Python 版本,請試試 pyenv。

[[327530]]

如果你在 macOS 上運行的項目需要沒有安裝的 Python 版本,請試試 pyenv。

即使對于有經驗的開發人員,管理本地 Python 開發環境仍然是一個挑戰。盡管有詳細的軟件包管理策略,但仍需要采取另外的步驟來確保你在需要時運行所需的 Python 版本。

為什么 Python 版本重要?

起初這是一個奇怪的概念,但是編程語言會像其他任何軟件一樣發生變化。它們有錯誤、修復和更新,就像你喜歡的 API 和任何其他軟件一樣。同樣,不同的發行版由稱為語義化版本的三位數標識。

😭😭😭 pic.twitter.com/yt1Z2439W8

— Denny Perez (@dennyperez18) May 28, 2019

多年來,Python 2 是該語言的常用主要版本。在 2020 年 1 月,Python 2 到達最后壽命,此后,Python 的核心維護者將僅支持 Python 3。Python 3 穩步發展,并定期發布新更新。對我來說定期獲取這些更新很重要。

最近,我試圖在 macOS 上運行一個依賴于 Python 3.5.9 的項目,而我的系統上并沒有安裝這個版本。我認為 Python 包管理器 pip 可以安裝它,但事實并非如此:

  1. $ pip install python3.5.9
  2. Collecting python3.5.9
  3.   ERROR: Could not find a version that satisfies the requirement python3.5.9 (from versions: none)
  4. ERROR: No matching distribution found for python3.5.9

或者,我也可以從官方 Python 網站下載該版本,但我如何在我的 Mac 上與現有的 Python 版本一起運行?每次運行時指定 Python 解釋器版本(例如 python3.7 或 python3.5)似乎很容易出錯。一定會有更好的方法。

(說明:我知道這對經驗豐富的 Python 開發人員沒有意義,但對當時的我來說是有意義的。我很樂意談一談為什么我仍然認為它應該這樣做。)

安裝和設置 pyenv

值得慶幸的是,pyenv 可以繞開這一系列復雜的問題。首先,我需要安裝 pyenv。我可以從源碼克隆并編譯它,但是我更喜歡通過 Homebrew 包管理器來管理軟件包:

  1. $ brew install pyenv

為了通過 pyenv 使用 Python 版本,必須了解 shell 的 PATH 變量。PATH 決定了 shell 通過命令的名稱來搜索文件的位置。你必須確保 shell 程序能夠找到通過 pyenv 運行的 Python 版本,而不是默認安裝的版本(通常稱為系統版本)。如果不更改路徑,那么結果如下:

  1. $ which python
  2. /usr/bin/python

這是 Python 的系統版本。

要正確設置 pyenv,可以在 Bash 或 zsh 中運行以下命令:

  1. $ PATH=$(pyenv root)/shims:$PATH

現在,如果你檢查 Python 的版本,你會看到它是 pyenv 管理的版本:

  1. $ which python
  2. /Users/my_username/.pyenv/shims/python

該導出語句(PATH=)僅會對該 shell 實例進行更改,為了使更改永久生效,你需要將它添加到點文件當中。由于 zsh 是 macOS 的默認 shell,因此我將重點介紹它。將相同的語法添加到 ~/.zshrc 文件中:

  1. $ echo 'PATH=$(pyenv root)/shims:$PATH' >> ~/.zshrc

現在,每次我們在 zsh 中運行命令時,它將使用 pyenv 版本的 Python。請注意,我在 echo 中使用了單引號,因此它不會評估和擴展命令。

.zshrc 文件僅管理 zsh 實例,因此請確保檢查你的 shell 程序并編輯關聯的點文件。如果需要再次檢查默認 shell 程序,可以運行 echo $SHELL。如果是 zsh,請使用上面的命令。如果你使用 Bash,請將 ~/.zshrc 更改為 ~/.bashrc。如果你想了解更多信息,可以在 pyenvREADME 中深入研究路徑設置

使用 pyenv 管理 Python 版本

現在 pyenv 已經可用,我們可以看到它只有系統 Python 可用:

  1. $ pyenv versions
  2. system

如上所述,你絕對不想使用此版本(閱讀更多有關信息)。現在 pyenv 已正確設置,我希望它能有我經常使用的幾個不同版本的 Python。

有一種方法可以通過運行 pyenv install --list 來查看 pyenv 可以訪問的所有倉庫中的所有 Python 版本。這是一個很長的列表,將來回顧的時候可能會有所幫助。目前,我決定在 Python 下載頁面找到的每個最新的“點版本”(3.5.x 或 3.6.x,其中 x 是最新的)。因此,我將安裝 3.5.9 和 3.8.0:

  1. $ pyenv install 3.5.9
  2. $ pyenv install 3.8.0

這將需要一段時間,因此休息一會(或閱讀上面的鏈接之一)。有趣的是,輸出中顯示了該版本的 Python 的下載和構建。例如,輸出顯示文件直接來自 Python.org

安裝完成后,你可以設置默認值。我喜歡最新的,因此將全局默認 Python 版本設置為最新版本:

  1. $ pyenv global 3.8.0

該版本立即在我的 shell 中設置完成。確認一下:

  1. $ python -V
  2. Python 3.8.0

我要運行的項目僅適于 Python 3.5,因此我將在本地設置該版本并確認:

  1. $ pyenv local 3.5.9
  2. $ python -V
  3. Python 3.5.9

因為我在 pyenv 中使用了 local 選項,所以它向當前目錄添加了一個文件來跟蹤該信息。

  1. $ cat .python-version
  2. 3.5.9

現在,我終于可以為想要的項目設置虛擬環境,并確保運行正確版本的 Python。

  1. $ python -m venv venv
  2. $ source ./venv/bin/activate
  3. (venv) $ which python
  4. /Users/mbbroberg/Develop/my_project/venv/bin/python

要了解更多信息,請查看有關在 Mac 上管理虛擬環境的教程。

總結

默認情況下,運行多個 Python 版本可能是一個挑戰。我發現 pyenv 可以確保在我需要時可以有我需要的 Python 版本。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-06-10 10:01:17

MacDockerLinux

2020-07-08 15:29:05

MacJava編程語言

2019-07-12 16:28:32

MacKubernetes

2024-01-22 09:00:00

PythonPyenv開發

2013-08-28 15:50:36

Linux桌面Mac

2021-09-15 08:00:00

Windows 11Windows微軟

2017-09-18 10:05:15

WindowsLinux容器

2021-08-09 09:00:00

Kubernetes云計算架構

2021-02-25 08:00:00

WindowsWindows 10開發

2022-09-13 08:40:24

AndroidLinux

2017-02-16 10:15:43

Windows7docker變量

2021-05-09 21:35:25

Java機器代碼

2018-08-27 10:24:03

UbuntuPHP版本

2021-10-02 10:10:47

LinuxBusyBox命令

2019-01-07 09:50:06

Linuxtarball命令

2021-07-25 10:34:17

FedoraPodmanLinux

2019-11-26 16:58:51

Linuxpkgsrc

2023-01-17 07:40:59

LinuxAppImage應用程序

2015-07-31 15:35:09

Mac安裝Windows 10

2019-05-09 09:00:00

WindowsKafka
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 在线日韩欧美 | 国产一区二区自拍 | 黄片毛片| 天天爽天天操 | 久草日韩 | 亚洲精品大全 | 国产精品亚洲成在人线 | 殴美一级片| 一区日韩| 极情综合网 | 成人免费视频 | 日韩av在线一区二区三区 | 亚洲狠狠 | 亚洲国产激情 | 九九亚洲 | 国产精品久久久久久久久久软件 | 久久精品视频亚洲 | 成人免费xxxxx在线视频 | 日韩在线综合 | 日韩中文字幕一区 | 中文字幕在线第一页 | 国产精品1区 | 国产视频二区 | 午夜在线精品 | 麻豆av在线 | 国产一区二区三区色淫影院 | 亚洲不卡在线观看 | 99热这里有精品 | 亚洲高清在线观看 | 99国产精品一区二区三区 | 日韩精品一区二区三区在线观看 | 色秀网站| 亚洲一区二区久久久 | 亚洲精品国产电影 | 国产日韩欧美中文 | 亚洲最大av | 一级特黄网站 | 91精品国产综合久久福利软件 | 欧美国产大片 | 国产二区精品视频 |