准确--如何在 Windows 上安装并管理多个 Python 环境

使用虚拟环境隔离项目

概述

核心:

  1. 手动安装多个 Python 版本(2.7.18 和 3.10.11)。
  2. 使用 py 启动器(Windows 自带的 Python 版本管理工具)选择特定版本运行 Python。
  3. 使用 virtualenv 工具为每个项目创建独立的虚拟环境,隔离不同 Python 版本和依赖包。

这种方法简单直接,适合需要在不同项目中使用不同 Python 版本的场景,且无需复杂的工具如 pyenv-win。虚拟环境确保每个项目的依赖互不干扰。

前提条件

  • 操作系统:Windows 10 或 11。
  • 工具:命令提示符(cmd)或 PowerShell(以下示例优先使用 cmd 避免 PowerShell 执行策略问题)。
  • 网络:确保可以访问 Python 官网(https://www.python.org)。
  • 工作目录C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
  • 磁盘空间:每个 Python 版本约需 100-200 MB,虚拟环境根据依赖大小变化。

详细步骤

1. 安装 Python 2.7.18 和 3.10.11

我们将分别下载并安装 Python 2.7.18 和 3.10.11,确保它们可以在系统中共存,并使用 py 启动器管理。

1.1 下载 Python 安装包
  1. 打开浏览器,访问 Python 官方网站:https://www.python.org/downloads/
  2. 下载以下版本(以 64 位为例,假设你的系统是 64 位):
    • Python 2.7.18
      • 直接链接:https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi
      • 保存到 C:\Users\YK\Downloads(或其他方便的位置)。
    • Python 3.10.11
      • 直接链接:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
      • 保存到 C:\Users\YK\Downloads
1.2 安装 Python 2.7.18
  1. 双击 python-2.7.18.amd64.msi 运行安装程序。
  2. 配置安装选项:
    • 选择“Install for all users”(推荐)。
    • 设置安装路径:C:\Python27(避免与其他版本冲突)。
    • 不要勾选“Add Python to PATH”,以防止覆盖默认 PATH。
    • 点击“Next”完成安装(约需 1-2 分钟)。
  3. 验证安装:
    • 打开命令提示符(cmd):
      • Win + R,输入 cmd,按 Enter。
    • 运行:
      C:\Python27\python.exe --version
      
      输出Python 2.7.18
    • 验证 pip
      C:\Python27\Scripts\pip.exe --version
      
      输出pip x.x.x from ... (python 2.7)
1.3 安装 Python 3.10.11
  1. 双击 python-3.10.11-amd64.exe 运行安装程序。
  2. 配置安装选项:
    • 勾选“Add Python 3.10 to PATH”(确保 py 启动器可用)。
    • 选择自定义安装路径:C:\Python310
    • 确保勾选“Install Python Launcher for Windows”(默认已选)。
    • 点击“Install”完成安装(约需 1-2 分钟)。
  3. 验证安装:
    • cmd 中运行:
      py -3.10 --version
      
      输出Python 3.10.11
    • 验证 pip
      py -3.10 -m pip --version
      
      输出pip x.x.x from ... (python 3.10)
1.4 验证 py 启动器

py 启动器是 Windows 管理多个 Python 版本的关键工具,安装 Python 3.10 时已自动包含。

  • 运行:
    py -0
    
    输出
    Installed Pythons found by py Launcher for Windows
     -3.10-64 *
     -2.7-64
    
    • 说明:* 表示默认版本(通常是 3.10),-2.7-64-3.10-64 表示可用版本。

2. 安装 virtualenv

virtualenv 是一个 Python 包,用于创建虚拟环境。我们将使用 Python 3.10 的 pip 安装它。

  1. cmd 中运行:

    py -3.10 -m pip install virtualenv
    
    • 说明:确保使用 Python 3.10 的 pip 安装 virtualenv
    • 输出:安装成功信息,如:
      Collecting virtualenv
      ...
      Successfully installed virtualenv-x.x.x
      
  2. 验证 virtualenv 安装:

    py -3.10 -m virtualenv --version
    

    输出virtualenv x.x.x from ...


3. 创建虚拟环境

为每个项目创建独立的虚拟环境,分别使用 Python 2.7.18 和 3.10.11。

3.1 为 Python 2.7.18 创建虚拟环境
  1. 在工作目录创建虚拟环境:

    cd C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
    py -2.7 -m virtualenv venv27
    
    • 说明venv27 是虚拟环境目录,创建在 ZAW-vue\venv27
    • 输出
      created virtual environment CPython2.7.18.final.0-64 in xxxms
      ...
      
  2. 验证虚拟环境:

    • 检查 venv27 目录:
      dir venv27
      
      输出:包含 ScriptsLib 等子目录。
    • 检查 Python 版本:
      venv27\Scripts\python.exe --version
      
      输出Python 2.7.18
3.2 为 Python 3.10.11 创建虚拟环境
  1. 创建虚拟环境:

    py -3.10 -m virtualenv venv310
    
    • 说明venv310 创建在 ZAW-vue\venv310
    • 输出
      created virtual environment CPython3.10.11.final.0-64 in xxxms
      ...
      
  2. 验证虚拟环境:

    venv310\Scripts\python.exe --version
    

    输出Python 3.10.11


4. 激活虚拟环境并安装依赖

激活虚拟环境后,命令行会自动使用该环境的 Python 和 pip,隔离项目的依赖。

4.1 激活 Python 2.7.18 虚拟环境
  1. 激活:

    cd C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
    venv27\Scripts\activate
    
    • 输出:命令提示符前显示 (venv27),如:
      (venv27) C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue>
      
  2. 验证:

    python --version
    

    输出Python 2.7.18

    pip --version
    

    输出pip x.x.x from ... (python 2.7)

  3. 安装依赖(以 requests 为例,指定 Python 2.7 兼容版本):

    pip install requests==2.22.0
    
    • 说明:Python 2.7 已停止支持,需使用旧版本的库。
    • 输出:安装成功信息。
  4. 验证安装:

    pip list
    

    输出:包含 requests (2.22.0) 等。

4.2 激活 Python 3.10.11 虚拟环境
  1. 激活:

    venv310\Scripts\activate
    
    • 输出:提示符显示 (venv310)
  2. 验证:

    python --version
    

    输出Python 3.10.11

    pip --version
    

    输出pip x.x.x from ... (python 3.10)

  3. 安装依赖(以 numpy 为例):

    pip install numpy
    

    输出:安装成功信息。

  4. 验证安装:

    pip list
    

    输出:包含 numpy 等。

4.3 退出虚拟环境

在任一虚拟环境中,运行:

deactivate
  • 输出:提示符恢复正常,退出虚拟环境。

5. 示例场景

C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue 下创建两个项目,分别使用 Python 2.7.18 和 3.10.11。

ProjectA:使用 Python 2.7.18 和 requests
  1. 创建项目目录:

    mkdir ProjectA
    cd ProjectA
    
  2. 创建并激活虚拟环境:

    py -2.7 -m virtualenv venv
    venv\Scripts\activate
    
    • 提示符显示 (venv)python --version 输出 Python 2.7.18
  3. 安装 requests

    pip install requests==2.22.0
    
  4. 创建脚本 script_a.py

    echo @echo off > script_a.py
    echo import requests >> script_a.py
    echo print "Fetching data..." >> script_a.py
    echo response = requests.get("https://api.github.com") >> script_a.py
    echo print response.json() >> script_a.py
    

    内容:

    # script_a.py
    import requests
    print "Fetching data..."
    response = requests.get("https://api.github.com")
    print response.json()
    
  5. 运行:

    python script_a.py
    

    输出:GitHub API 数据(JSON 格式),如:

    Fetching data...
    {'current_user_url': 'https://api.github.com/user', ...}
    
  6. 退出虚拟环境:

    deactivate
    cd ..
    
ProjectB:使用 Python 3.10.11 和 numpy
  1. 创建项目目录:

    mkdir ProjectB
    cd ProjectB
    
  2. 创建并激活虚拟环境:

    py -3.10 -m virtualenv venv
    venv\Scripts\activate
    
    • 提示符显示 (venv)python --version 输出 Python 3.10.11
  3. 安装 numpy

    pip install numpy
    
  4. 创建脚本 script_b.py

    echo @echo off > script_b.py
    echo import numpy as np >> script_b.py
    echo print("Generating array...") >> script_b.py
    echo array = np.array([1, 2, 3]) >> script_b.py
    echo print(array) >> script_b.py
    

    内容:

    # script_b.py
    import numpy as np
    print("Generating array...")
    array = np.array([1, 2, 3])
    print(array)
    
  5. 运行:

    python script_b.py
    

    输出

    Generating array...
    [1 2 3]
    
  6. 退出虚拟环境:

    deactivate
    cd ..
    

6. 验证环境隔离

确保 ProjectA 和 ProjectB 的环境互不干扰:

  1. 检查 ProjectA

    cd ProjectA
    venv\Scripts\activate
    python --version
    pip list
    

    输出

    • Python 2.7.18
    • 包列表包含 requests==2.22.0,无 numpy
  2. 检查 ProjectB

    cd ..\ProjectB
    venv\Scripts\activate
    python --version
    pip list
    

    输出

    • Python 3.10.11
    • 包列表包含 numpy,无 requests
  3. 检查全局环境

    cd ..
    deactivate
    py -3.10 --version
    py -2.7 --version
    

    输出

    • Python 3.10.11
    • Python 2.7.18

可能遇到的问题及解决方法

  1. 错误:py 命令无效

    • 原因:Python 3.10 未正确安装,或 py 启动器未添加到 PATH。
    • 解决
      • 确认 C:\Python310C:\Python310\Scripts 在 PATH 中:
        echo %PATH%
        
      • 如果缺失,重新运行 Python 3.10 安装程序,勾选“Add Python 3.10 to PATH”。
      • 验证:
        py --version
        
  2. 错误:virtualenv 安装失败

    • 原因:网络问题或 pip 版本过旧。
    • 解决
      • 更新 pip
        py -3.10 -m pip install --upgrade pip
        
      • 使用国内镜像:
        py -3.10 -m pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple
        
  3. 错误:虚拟环境创建失败

    • 原因:磁盘空间不足或 Python 路径错误。
    • 解决
      • 确认 C:\Python27\python.exeC:\Python310\python.exe 存在。
      • 清理磁盘空间,确保 C: 盘有至少 500 MB 可用。
      • 重试:
        py -2.7 -m virtualenv venv27
        
  4. 错误:pip 安装包失败

    • 原因:Python 2.7 兼容性问题或网络问题。
    • 解决
      • 指定旧版本:
        pip install requests==2.22.0
        
      • 使用国内镜像:
        pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
        
  5. 错误:激活虚拟环境失败

    • 原因:路径错误或 Scripts\activate.bat 缺失。
    • 解决
      • 确认虚拟环境目录存在:
        dir venv27\Scripts
        
      • 手动运行:
        venv27\Scripts\activate.bat
        

预防措施

  • 避免 PATH 冲突:仅为 Python 3.10 添加 PATH,避免 C:\Python27 干扰。
  • Python 2.7 兼容性:Python 2.7 已停止支持,安装包时需指定旧版本(如 requests==2.22.0)。
  • 磁盘空间:确保 C: 盘有足够空间(建议 1 GB 以上)。
  • 备份环境:重要项目前,备份虚拟环境目录(如 venv27venv310)。
  • 使用 cmd:优先使用命令提示符,避免 PowerShell 的执行策略问题。

总结

通过方法 2,你可以在 Windows 上:

  1. 安装 Python 2.7.18 和 3.10.11,使用 py 启动器管理版本。
  2. 使用 virtualenv 为每个项目创建独立的虚拟环境(venv27venv310)。
  3. 在 ProjectA 和 ProjectB 中分别运行 Python 2.7.18 和 3.10.11 的脚本,依赖隔离。

工作流示例

  • 运行旧项目(ProjectA):
    cd ProjectA
    venv\Scripts\activate
    python script_a.py
    deactivate
    
  • 运行新项目(ProjectB):
    cd ProjectB
    venv\Scripts\activate
    python script_b.py
    deactivate
    

如果在执行上述步骤时遇到任何问题(例如命令无效、安装失败或脚本运行错误),请提供以下信息,我会进一步协助:

  • 具体错误信息。
  • 运行 py -0 的输出。
  • 运行 echo %PATH% 的输出。
  • 是否使用 cmd 或 PowerShell。

以下是简单一点的描述:更方便看懂和操作

简易操作:用虚拟环境管理 Python 2.7 和 3.10

目标

  • 安装 Python 2.7.18 和 3.10.11。
  • 为两个项目(ProjectA 用 Python 2.7,ProjectB 用 Python 3.10)创建独立环境。
  • 运行简单的测试脚本。

准备

  • 用命令提示符(cmd),避免 PowerShell 问题:
    • Win + R,输入 cmd,按 Enter。
  • 工作目录:C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue

步骤

1. 安装 Python 2.7.18 和 3.10.11
  1. 下载安装包

    • 打开浏览器,访问:
      • Python 2.7.18:https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi
      • Python 3.10.11:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
    • 保存到 C:\Users\YK\Downloads
  2. 安装 Python 2.7.18

    • 双击 python-2.7.18.amd64.msi
    • 选择安装路径:C:\Python27
    • 不要勾选“Add Python to PATH”
    • 点击“Next”完成安装。
    • 验证(在 cmd):
      C:\Python27\python.exe --version
      
      输出:Python 2.7.18
  3. 安装 Python 3.10.11

    • 双击 python-3.10.11-amd64.exe
    • 勾选“Add Python 3.10 to PATH”
    • 选择安装路径:C:\Python310
    • 点击“Install”完成安装。
    • 验证:
      py -3.10 --version
      
      输出:Python 3.10.11
  4. 检查 py 启动器

    py -0
    

    输出:

    -3.10-64 *
    -2.7-64
    

2. 安装 virtualenv
  1. cmd 中运行:

    py -3.10 -m pip install virtualenv
    

    输出:安装成功。

  2. 验证:

    py -3.10 -m virtualenv --version
    

    输出:virtualenv x.x.x


3. 创建虚拟环境

在工作目录运行以下命令:

cd C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
  1. Python 2.7 虚拟环境

    py -2.7 -m virtualenv venv27
    

    输出:创建 venv27 目录。

  2. Python 3.10 虚拟环境

    py -3.10 -m virtualenv venv310
    

    输出:创建 venv310 目录。


4. 测试项目

创建两个项目,分别用 Python 2.7 和 3.10。

ProjectA(Python 2.7)
  1. 创建目录:

    mkdir ProjectA
    cd ProjectA
    
  2. 激活虚拟环境:

    ..\venv27\Scripts\activate
    

    输出:提示符显示 (venv27)

  3. 安装 requests

    pip install requests==2.22.0
    
  4. 创建脚本 script_a.py

    echo import requests>script_a.py
    echo print "Fetching data...">>script_a.py
    echo response = requests.get("https://api.github.com")>>script_a.py
    echo print response.json()>>script_a.py
    
  5. 运行:

    python script_a.py
    

    输出:

    Fetching data...
    {'current_user_url': 'https://api.github.com/user', ...}
    
  6. 退出:

    deactivate
    cd ..
    
ProjectB(Python 3.10)
  1. 创建目录:

    mkdir ProjectB
    cd ProjectB
    
  2. 激活虚拟环境:

    ..\venv310\Scripts\activate
    

    输出:提示符显示 (venv310)

  3. 安装 numpy

    pip install numpy
    
  4. 创建脚本 script_b.py

    echo import numpy as np>script_b.py
    echo print("Generating array...")>>script_b.py
    echo array = np.array([1, 2, 3])>>script_b.py
    echo print(array)>>script_b.py
    
  5. 运行:

    python script_b.py
    

    输出:

    Generating array...
    [ komme 2 3]
    
  6. 退出:

    deactivate
    cd ..
    

验证

  1. ProjectA

    cd ProjectA
    ..\venv27\Scripts\activate
    python --version
    pip list
    

    输出:

    • Python 2.7.18
    • 包含 requests==2.22.0
  2. ProjectB

    cd ProjectB
    ..\venv310\Scripts\activate
    python --version
    pip list
    

    输出:

    • Python 3.10.11
    • 包含 numpy

常见问题

  1. 找不到 py 命令

    • 确保 Python 3.10 安装时勾选了“Add Python 3.10 to PATH”。
    • 重新安装 Python 3.10。
  2. 虚拟环境创建失败

    • 检查 C:\Python27\python.exeC:\Python310\python.exe 是否存在。
    • 确保磁盘空间足够(至少 500 MB)。
  3. 安装包失败

    • 用国内镜像:
      pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
      
    • Python 2.7 用旧版本:
      pip install requests==2.22.0
      

总结

  • 安装:Python 2.7.18 和 3.10.11,用 py 管理。
  • 虚拟环境venv27(Python 2.7)、venv310(Python 3.10)。
  • 项目:ProjectA 用 Python 2.7 跑 requests;ProjectB 用 Python 3.10 跑 numpy

快速运行

  • ProjectA:
    cd ProjectA
    ..\venv27\Scripts\activate
    python script_a.py
    deactivate
    
  • ProjectB:
    cd ProjectB
    ..\venv310\Scripts\activate
    python script_b.py
    deactivate
    

如果有问题(比如命令失败或输出不对),告诉我具体错误,我帮你解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ascarl2010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值