pyenv
是一个非常强大的 Python 版本管理工具,它允许你轻松地在同一系统上安装和切换多个 Python 版本。
安装 pyenv
在 macOS 和 Linux 上安装 pyenv
-
安装依赖:确保你的系统上已经安装了一些必要的依赖项。
对于Ubuntu/Debian:
sudo apt update sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
对于CentOS/Fedora:
sudo yum install @development-tools zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
对于macOS:
首先确保你有安装 Homebrew,然后运行:
brew install openssl readline sqlite3 xz zlib tcl-tk
-
安装
pyenv
:可以通过克隆
pyenv
的 GitHub 仓库来安装它:curl https://pyenv.run | bash
-
配置 shell:
为了在命令行中使用
pyenv
,需要将其路径添加到 shell 配置文件中(例如.bashrc
,.zshrc
或.profile
)。# Add pyenv to PATH and initialize it export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"
然后重新加载配置文件,例如:
source ~/.bashrc # or source ~/.zshrc, depending on your shell
在 Windows 上安装 pyenv-win
-
安装 Git for Windows:确保你的系统上已经安装了 Git。
-
安装
pyenv-win
:打开命令提示符(cmd)或 PowerShell,运行以下命令:
git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv
-
添加环境变量:
- PYENV:
%USERPROFILE%\.pyenv\pyenv-win
- PYENV_HOME:
%PYENV%
- PYENV_ROOT:
%PYENV%
- PATH:
%PYENV%\bin;%PYENV%\shims;%PATH%
添加这些环境变量可以通过系统属性中的“环境变量”界面完成。
- PYENV:
使用 pyenv
1. 查看可用的 Python 版本
pyenv install --list
这个命令会列出所有可安装的 Python 版本。
2. 安装特定版本的 Python
假设你想安装 Python 3.9.7,可以这样做:
pyenv install 3.9.7
3. 设置全局 Python 版本
设置全局默认使用的 Python 版本:
pyenv global 3.9.7
4. 设置本地 Python 版本
如果只想在某个特定项目中使用某个 Python 版本,可以进入该项目目录并设置本地版本:
cd my_project_directory
pyenv local 3.8.10
这会在项目目录下创建一个 .python-version
文件,记录所选的 Python 版本。
5. 切换 Python 版本
随时可以查看当前正在使用的 Python 版本:
pyenv version
6. 管理虚拟环境
pyenv
与 pyenv-virtualenv
集成,可以方便地创建和管理虚拟环境。例如:
# 创建一个基于 Python 3.9.7 的虚拟环境
pyenv virtualenv 3.9.7 my_virtual_env
# 激活虚拟环境
pyenv activate my_virtual_env
# 退出虚拟环境
pyenv deactivate
常见问题
-
pyenv 命令找不到:
- 确认 Git 已经成功安装,并且
git
命令可以在命令提示符中使用。 - 确认已正确设置环境变量,并且重启了命令提示符或计算机使更改生效。
- 确认 Git 已经成功安装,并且
-
安装失败或网络问题:
- 有时由于网络问题,可能会导致安装失败。在这种情况下,你可以尝试手动下载对应版本的 Python 安装包,然后使用
pyenv install <version>
命令进行离线安装。
- 有时由于网络问题,可能会导致安装失败。在这种情况下,你可以尝试手动下载对应版本的 Python 安装包,然后使用
总结
pyenv
是一个非常强大的工具,能够极大地方便开发人员在不同项目之间无缝切换 Python 版本,并且始终保持环境的干净和可管理。以下是常用的一些命令汇总:
- 查看可安装的 Python 版本:
pyenv install --list
- 安装指定版本的 Python:
pyenv install <version>
- 设置全局 Python 版本:
pyenv global <version>
- 设置本地 Python 版本:
pyenv local <version>
- 查看当前 Python 版本:
pyenv version
- 创建虚拟环境:
pyenv virtualenv <python_version> <env_name>
- 激活虚拟环境:
pyenv activate <env_name>
- 退出虚拟环境:
pyenv deactivate