在你的本地機器上設定Python可能是一個挑戰,特別是當你需要管理多個Python版本時。如果你需要在某個專門的Python環境中複製一個問題,而那個環境你目前沒有,那麼Pyenv會非常方便。在這篇博客文章中,我們將探討如何使用pyenv設定Python。

什麼是Pyenv?

Pyenv是一個直接的工具,可以讓你在本地機器上安裝和管理多版本的Python。它可以順暢地切換不同的Python版本並為每一個版本提供一個乾淨的、隔離環境,確保你的項目不受其他版本變化的影響。

安裝Pyenv

在使用pyenv之前,建議移除任何未被pyenv管理的pip實例。這是一個預防性的步驟,可能可以預防未來的衝突。

安裝過程取決於你的操作系統。對於Linux用戶,你首先需要下載pyenv正常運作所需的依賴項:

apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl \
git

接下來,克隆pyenv存儲庫:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

此命令將在你的系統的~/.pyenv目錄中安裝pyenv。要設置你的配置文件:

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

你需要重新啟動你的終端機以使這些變更生效。

對於Mac用戶,可以使用Homebrew安裝pyenv:

brew install pyenv

一旦安裝了pyenv,你就可以開始使用它來管理你的Python安裝。

安裝Python版本

要安裝特定的Python版本,使用pyenv install命令後跟版本號。例如,安裝Python 3.9.6:

pyenv install 3.9.6

這個命令將在~/.pyenv/versions目錄中下載和安裝Python 3.9.6。

你可以使用versions命令列出所有已安裝的Python版本:

pyenv versions
  system
  * 3.7.10 (set by /Users/user/.pyenv/version)
  * 3.9.6 (set by /Users/user/.pyenv/version)

設定全域Python版本

要為所有你的項目指定一個全域Python版本,使用pyenv global命令:

pyenv global 3.9.2

這將設定Python 3.9.2為所有新的shell session的默認版本。

設定本地Python版本

要為特定項目設定Python版本,使用pyenv local命令:

pyenv local 3.7.3

這會在當前目錄創建一個.python-version文件,指出該項目應該使用哪個Python版本。請注意,當你切換到每個Python版本時,你需要安裝所有必需的依賴項。

結論

Pyenv是一個強大的工具,能夠在你的本地機器上管理多版本的Python。它為每個Python版本提供乾淨、隔離的環境,確保你的項目不受其他版本變化的影響。有了pyenv,切換Python版本並為你的項目設置全域和本地版本變得直接簡單。