1. 安装 pyenv
通过 Homebrew 安装:
bash
brew update
brew install pyenv
配置 Shell 环境(如 zsh):
bash
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
source ~/.zshrc
2. 安装 Python 版本
查看可安装的 Python 版本:
bash
pyenv install --list
安装指定版本(如 3.12.0):
bash
pyenv install 3.12.0 # 替换为你需要的版本号
安装旧版本(如 Python 2.7.18):
bash
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install 2.7.18
3. 管理 Python 版本
查看已安装的 Python 版本:
bash
pyenv versions
设置全局默认 Python 版本:
bash
pyenv global 3.12.0 # 所有终端会话默认使用此版本
设置当前目录的本地 Python 版本:
bash
pyenv local 3.9.13 # 在目录下生成 `.python-version` 文件
临时切换 Python 版本(仅当前会话):
bash
pyenv shell 3.8.5
4. 使用 pyenv-virtualenv(虚拟环境)
安装 pyenv-virtualenv 插件:
bash
brew install pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
source ~/.zshrc
创建虚拟环境:
bash
pyenv virtualenv 3.9.13 myenv # 基于 Python 3.9.13 创建名为 myenv 的虚拟环境
激活/停用虚拟环境:
bash
pyenv activate myenv # 激活
pyenv deactivate # 停用
删除虚拟环境:
bash
pyenv virtualenv-delete myenv
5. 常见问题解决
安装 Python 时出现依赖错误:
确保安装了必要的依赖库:
bash
brew install openssl readline sqlite3 xz zlib tcl-tk
Mac M1/M2 编译问题:
- 使用 Homebrew 安装的依赖,并添加编译参数(参考上述 Python 2.7.18 的安装示例)。
6. 实际应用示例
项目中使用 pyenv:
bash
mkdir myproject && cd myproject
pyenv local 3.12.0 # 设置项目使用的 Python 版本
python -m venv .venv # 创建虚拟环境(或用 pyenv-virtualenv)
source .venv/bin/activate
pip install requests # 安装项目依赖
常用命令总结
命令 | 作用 |
---|---|
pyenv versions |
查看已安装的 Python 版本 |
pyenv install --list |
列出所有可安装的 Python 版本 |
pyenv install 3.12.0 |
安装指定 Python 版本 |
pyenv global 3.12.0 |
设置全局 Python 版本 |
pyenv local 3.9.13 |
设置当前目录的 Python 版本 |
pyenv virtualenv 3.9.13 myenv |
创建虚拟环境 |
提示
- 优先使用虚拟环境:避免全局安装 Python 包,减少依赖冲突。
- 如果遇到权限问题,不要使用
sudo
,这是 pyenv 设计上要避免的