在 Windows 上管理多版本的 Python 是一个常见的需求。

1. 为什么会出现多版本 Python 的问题?

  1. 历史遗留:项目可能使用了较旧版本的 Python,而新项目需要最新版本。
  2. 工具依赖:某些开发工具(如 IDE 或框架)对特定版本有依赖。
  3. 系统配置:Microsoft Store、标准安装版或其他发行版本共存,可能导致路径冲突。
  4. Python 无法直接更新Python 本身并不支持自我升级,安装新版本时需要手动下载并安装,旧版本不会被覆盖,需自行管理(共存还是卸载)。

2. 确认当前系统中的 Python 版本

命令:

在 CMD 中运行:

where python
python --version
  • where python 会列出所有可用的 Python 可执行文件路径及其优先级。
  • python --version 显示当前命令行中调用的 Python 版本。
  • 示例输出:
    E:\software\msys64\mingw64\bin\python.exe
    C:\Users\user\AppData\Local\Programs\Python\Python39\python.exe
    :\Users\user\AppData\Local\Programs\Python\Python312\python.exe
    C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
    
  • 系统中存在多个 Python 版本:
    1. MSYS2 Python:位于 E:\software\msys64\mingw64\bin,通常用于跨平台开发。
    2. Python 3.9:标准安装版本。
    3. Python 3.12:标准安装版本。
    4. Microsoft Store Python:通常是一个代理或占位符。

  • 3. 删除不需要的 Python 版本

    1. 删除 Microsoft Store 的 Python
    2. 运行命令:
      python -c "import sys; print(sys.executable)"
      

      如果输出路径指向 C:\Program Files\WindowsApps\,说明使用了 Store 版。

    3. 通过 设置 > 应用 卸载。
    4. 删除标准安装版本
    5. 如果不需要 C:\Users\user\AppData\Local\Programs\Python\Python39,可在 控制面板 > 程序和功能 中卸载。
    6. 删除 MSYS2 Python
    7. 如果不需要,可通过 MSYS2 的 pacman 命令卸载:
      pacman -R mingw-w64-x86_64-python
      

    4. 修改环境变量中的路径

    确保正确调用优先的 Python。

    1. 打开环境变量设置
    2. 搜索 “环境变量”,进入 系统属性 > 环境变量
    3. 修改 Path 变量
    4. 在系统变量的 Path 中,将优先调用的 Python 路径置于首位,例如:
    5. C:\Users\user\AppData\Local\Programs\Python\Python312\
    6. C:\Users\user\AppData\Local\Programs\Python\Python312\Scripts\
    7. 删除不需要的路径,如:
    8. C:\Users\user\AppData\Local\Microsoft\WindowsApps\
    9. C:\Users\user\AppData\Local\Programs\Python\Python39\
    10. C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\
    11. 验证配置
    12. 重启命令提示窗口,运行:
      where python
      python --version
      
    13. 确保输出的第一条路径为所需版本。

    5. 使用工具管理多版本 Python

    1. pyenv-win
    2. 一个强大的版本管理工具,适用于 Windows:
      pyenv install 3.9.7
      pyenv install 3.12.0
      pyenv global 3.9.7
      
    3. 方便在不同项目之间快速切换版本。
    4. 虚拟环境
    5. 推荐在项目中使用 venv
      python -m venv myenv
      myenv\Scripts\activate
      
    6. 每个项目使用独立环境,有效避免依赖冲突。
    7. 第三方工具
    8. AnacondaMiniconda,适合需要管理大量依赖的科学计算用户。

    6. 注意事项

    1. 依赖管理
    2. 使用 pip 管理包:
      pip install <package_name>
      pip uninstall <package_name>
      
    3. 不要随意修改 site-packages 文件夹
    4. 这是 Python 安装的核心库目录,手动更改可能导致无法运行。
    5. 保持系统干净
    6. 定期清理不必要的 Python 版本和环境变量,避免冲突。
    7. 无法直接更新 Python
    8. Python 并不支持自我升级。安装新版本时需要手动从 Python 官网 下载并安装。
    9. 安装新版本不会覆盖旧版本,需自行管理。

    作者:风雅GW

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python多版本管理

    发表回复