# 【Python】Pyenv 版本管理工具

[來源：\[Python 教學\] 如何切換 Python 版本，讓 Pyenv 幫你輕鬆管理版本 | Max行銷誌 (maxlist.xyz)](https://www.maxlist.xyz/2022/05/06/python-pyenv/)

 安裝

```shell
# 安裝相關套件
$ brew update
$ brew install openssl readline sqlite3 xz zlib
$ brew install pyenv
```

```shell
# 加入啟動環境變數
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
```

```shell
# 進入 /python-demo 重新初始化環境
cd /python-demo
# 曾經設定過才要刪除
# rm -rf .venv 
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

常用指令

```shell
# 如果安裝過pyenv 記得更新才能安裝較新的python版本
brew update
brew upgrade pyenv

# 查看当前版本
pyenv version

# 查看所有版本
pyenv versions

# 查看所有可安装的版本
pyenv install --list

# 安装指定版本
pyenv install 3.6.5
# 安装新版本后rehash一下
pyenv rehash

# 删除指定版本
pyenv uninstall 3.5.2

# 指定全局版本
pyenv global 3.6.5

# 指定多个全局版本, 3版本优先
pyenv global 3.6.5 2.7.14

# 实际上当你切换版本后, 相应的pip和包仓库都是会自动切换过去的

# 切回系統預設版本
pyenv global system

```

---

### 使用`pyenv-virtualenv`建立虛擬環境

如果你希望使用虛擬環境，可以安裝並使用`pyenv-virtualenv`：

1. **安裝`pyenv-virtualenv`**：
    
    ```
    <span class="hljs-keyword">brew </span><span class="hljs-keyword">install </span>pyenv-virtualenv
    
    ```
    
    將以下內容新增至您的`~/.bashrc`或`~/.zshrc`文件：
    
    ```
    <span class="hljs-built_in">eval</span> <span class="hljs-string">"<span class="hljs-variable">$(pyenv virtualenv-init -)</span>"</span>
    
    ```
    
    然後重新載入shell設定檔：
    
    ```
    <span class="hljs-built_in">source</span> ~/.bashrc  <span class="hljs-comment"># 如果使用 bash</span>
    <span class="hljs-built_in">source</span> ~/.zshrc   <span class="hljs-comment"># 如果使用 zsh</span>
    
    ```
2. **創建Python 2虛擬環境**：
    
    ```
    <span class="hljs-selector-tag">pyenv</span> <span class="hljs-selector-tag">virtualenv</span> 2<span class="hljs-selector-class">.7</span><span class="hljs-selector-class">.18</span> <span class="hljs-selector-tag">my-virtual-env</span>
    
    ```
3. **啟動虛擬環境**：
    
    ```
    pyenv <span class="hljs-built_in">activate</span> <span class="hljs-keyword">my</span>-virtual-env
    
    ```
4. **失效虛擬環境**：
    
    ```
    <span class="hljs-attribute">pyenv deactivate</span>
    
    ```

透過上述步驟，您可以在 macOS 上使用`pyenv`安裝和管理 Python 2 版本，並在不同的專案之間輕鬆切換。