python基础知识
song

pyenv

pyenv 是一个用于管理多个 Python 版本的工具,可以轻松在同一台机器上安装、切换和隔离不同版本的 Python 环境。它特别适合开发需要兼容不同 Python 版本的项目。

pyenv-win 是专为 Windows 开发的 pyenv 分支,功能类似,支持多版本 Python 管理。

  1. 下载 pyenv-win.zip
  2. USERPROFILE目录中创建.pyenv目录 mkdir %USERPROFILE%/.pyenv
  3. 解压pyenv-win.zip 移动文件到 .pyenv 目录
  4. 确保在 %USERPROFILE%\.pyenv\pyenv-win下有一个 bin 文件夹
  5. 配置环境变量 将PYENV、PYENV_HOME和PYENV_ROOT添加到环境变量中
    1
    2
    3
    4
    5
    [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

    [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

    [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
  6. 现在将以下路径添加到USER PATH变量中,以便访问pyenv命令
    1
    [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
  7. 在终端执行pyenv命令
    1
    2
    pyenv : 无法加载文件 C:\Users\song\.pyenv\pyenv-win\bin\pyenv.ps1。未对文件 C:\Users\song\.pyenv\pyenv-win\bin\pyenv.ps1
    进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink /?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + pyenv + ~~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
    出现上面错误时,可以尝试解除文件锁定,并调脚本执行策略
1
2
3
4
5
## 右键点击`pyenv.ps1`文件 → ‌**属性**‌ → ‌**常规**‌ → 勾选‌**解除锁定**‌ → 应用。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
## **`RemoteSigned`**‌:允许运行本地脚本和受信任的远程脚本‌
## **`-Scope CurrentUser`**‌:仅对当前用户生效,避免影响系统全局‌
## Get-ExecutionPolicy 若返回 `RemoteSigned`,说明修改成功‌
  1. 安装python解释器
1
2
3
4
5
6
7
8
# 列出所有可用版本(列表较长)
pyenv install --list

# 过滤特定版本(例如 3.9 或 3.10)
pyenv install --list | findstr "3.9"
pyenv install --list | findstr "3.10"

pyenv install 3.13.2

pyenv 常用命令

安装与管理 Python 版本

命令 说明 示例
pyenv install --list 查看所有可安装的 Python 版本 pyenv install --list
pyenv install <version> 安装指定版本的 Python pyenv install 3.9.5
pyenv uninstall <version> 卸载已安装的 Python 版本 pyenv uninstall 3.8.0
pyenv rehash 刷新 shims 目录(安装新版本后自动执行) pyenv rehash

版本切换与环境设置

命令 说明 示例
pyenv global <version> 设置全局默认 Python 版本 pyenv global 3.9.5
pyenv local <version> 在当前目录设置局部 Python 版本(生成 .python-version 文件) pyenv local 3.10.0
pyenv shell <version> 在当前 Shell 会话临时使用指定版本 pyenv shell 3.8.12
pyenv versions 列出所有已安装的 Python 版本(带 * 表示当前激活版本) pyenv versions

环境查看与路径管理

命令 说明 示例
pyenv version 显示当前激活的 Python 版本 pyenv version
pyenv which <command> 查看某命令的绝对路径(如 pythonpip pyenv which python
pyenv exec <command> 直接使用当前激活版本的命令 pyenv exec pip install requests

其他实用命令

命令 说明 示例
pyenv update 更新 pyenv 自身(原版支持) pyenv update
pyenv root 显示 pyenv 的安装根目录 pyenv root
pyenv hooks 列出所有已安装的钩子脚本 pyenv hooks
  • 镜像加速安装:设置环境变量加速下载
    1
    $env:PYTHON_BUILD_MIRROR_URL = "https://npm.taobao.org/mirrors/python/"

### 使用小贴士

  1. 优先级顺序shell > local > global
    (临时 > 项目目录 > 全局)

  2. 切换失败检查:确保 pyenv 的 shims 路径在系统环境变量 Path 中优先级最高。

  3. 多项目隔离:为不同项目设置 pyenv local,避免版本冲突。

venv

venv 是 Python 内置的虚拟环境管理工具(Python 3.3+ 原生支持),用于为单个项目创建独立的 Python 运行环境,隔离不同项目的依赖包,避免版本冲突。

1
2
3
4
python -m venv [虚拟环境的名称] [指定路径]
cd [指定路径]/Scripts
activate #激活

由 Hexo 驱动 & 主题 Keep