核心:
py
启动器(Windows 自带的 Python 版本管理工具)选择特定版本运行 Python。virtualenv
工具为每个项目创建独立的虚拟环境,隔离不同 Python 版本和依赖包。这种方法简单直接,适合需要在不同项目中使用不同 Python 版本的场景,且无需复杂的工具如 pyenv-win
。虚拟环境确保每个项目的依赖互不干扰。
cmd
)或 PowerShell(以下示例优先使用 cmd
避免 PowerShell 执行策略问题)。C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
。我们将分别下载并安装 Python 2.7.18 和 3.10.11,确保它们可以在系统中共存,并使用 py
启动器管理。
C:\Users\YK\Downloads
(或其他方便的位置)。C:\Users\YK\Downloads
。python-2.7.18.amd64.msi
运行安装程序。C:\Python27
(避免与其他版本冲突)。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)
python-3.10.11-amd64.exe
运行安装程序。py
启动器可用)。C:\Python310
。cmd
中运行:py -3.10 --version
输出:Python 3.10.11
pip
:py -3.10 -m pip --version
输出:pip x.x.x from ... (python 3.10)
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
表示可用版本。virtualenv
virtualenv
是一个 Python 包,用于创建虚拟环境。我们将使用 Python 3.10 的 pip
安装它。
在 cmd
中运行:
py -3.10 -m pip install virtualenv
pip
安装 virtualenv
。Collecting virtualenv
...
Successfully installed virtualenv-x.x.x
验证 virtualenv
安装:
py -3.10 -m virtualenv --version
输出:virtualenv x.x.x from ...
为每个项目创建独立的虚拟环境,分别使用 Python 2.7.18 和 3.10.11。
在工作目录创建虚拟环境:
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
...
验证虚拟环境:
venv27
目录:dir venv27
输出:包含 Scripts
、Lib
等子目录。venv27\Scripts\python.exe --version
输出:Python 2.7.18
创建虚拟环境:
py -3.10 -m virtualenv venv310
venv310
创建在 ZAW-vue\venv310
。created virtual environment CPython3.10.11.final.0-64 in xxxms
...
验证虚拟环境:
venv310\Scripts\python.exe --version
输出:Python 3.10.11
激活虚拟环境后,命令行会自动使用该环境的 Python 和 pip
,隔离项目的依赖。
激活:
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>
验证:
python --version
输出:Python 2.7.18
pip --version
输出:pip x.x.x from ... (python 2.7)
安装依赖(以 requests
为例,指定 Python 2.7 兼容版本):
pip install requests==2.22.0
验证安装:
pip list
输出:包含 requests (2.22.0)
等。
激活:
venv310\Scripts\activate
(venv310)
。验证:
python --version
输出:Python 3.10.11
pip --version
输出:pip x.x.x from ... (python 3.10)
安装依赖(以 numpy
为例):
pip install numpy
输出:安装成功信息。
验证安装:
pip list
输出:包含 numpy
等。
在任一虚拟环境中,运行:
deactivate
在 C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
下创建两个项目,分别使用 Python 2.7.18 和 3.10.11。
requests
创建项目目录:
mkdir ProjectA
cd ProjectA
创建并激活虚拟环境:
py -2.7 -m virtualenv venv
venv\Scripts\activate
(venv)
,python --version
输出 Python 2.7.18
。安装 requests
:
pip install requests==2.22.0
创建脚本 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()
运行:
python script_a.py
输出:GitHub API 数据(JSON 格式),如:
Fetching data...
{'current_user_url': 'https://api.github.com/user', ...}
退出虚拟环境:
deactivate
cd ..
numpy
创建项目目录:
mkdir ProjectB
cd ProjectB
创建并激活虚拟环境:
py -3.10 -m virtualenv venv
venv\Scripts\activate
(venv)
,python --version
输出 Python 3.10.11
。安装 numpy
:
pip install numpy
创建脚本 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)
运行:
python script_b.py
输出:
Generating array...
[1 2 3]
退出虚拟环境:
deactivate
cd ..
确保 ProjectA 和 ProjectB 的环境互不干扰:
检查 ProjectA:
cd ProjectA
venv\Scripts\activate
python --version
pip list
输出:
Python 2.7.18
requests==2.22.0
,无 numpy
。检查 ProjectB:
cd ..\ProjectB
venv\Scripts\activate
python --version
pip list
输出:
Python 3.10.11
numpy
,无 requests
。检查全局环境:
cd ..
deactivate
py -3.10 --version
py -2.7 --version
输出:
Python 3.10.11
Python 2.7.18
错误:py
命令无效
py
启动器未添加到 PATH。C:\Python310
和 C:\Python310\Scripts
在 PATH 中:echo %PATH%
py --version
错误: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
错误:虚拟环境创建失败
C:\Python27\python.exe
和 C:\Python310\python.exe
存在。C:
盘有至少 500 MB 可用。py -2.7 -m virtualenv venv27
错误:pip
安装包失败
pip install requests==2.22.0
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
错误:激活虚拟环境失败
Scripts\activate.bat
缺失。dir venv27\Scripts
venv27\Scripts\activate.bat
C:\Python27
干扰。requests==2.22.0
)。C:
盘有足够空间(建议 1 GB 以上)。venv27
、venv310
)。cmd
:优先使用命令提示符,避免 PowerShell 的执行策略问题。通过方法 2,你可以在 Windows 上:
py
启动器管理版本。virtualenv
为每个项目创建独立的虚拟环境(venv27
和 venv310
)。工作流示例:
cd ProjectA
venv\Scripts\activate
python script_a.py
deactivate
cd ProjectB
venv\Scripts\activate
python script_b.py
deactivate
如果在执行上述步骤时遇到任何问题(例如命令无效、安装失败或脚本运行错误),请提供以下信息,我会进一步协助:
py -0
的输出。echo %PATH%
的输出。cmd
或 PowerShell。cmd
),避免 PowerShell 问题:
Win + R
,输入 cmd
,按 Enter。C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
。下载安装包:
C:\Users\YK\Downloads
。安装 Python 2.7.18:
python-2.7.18.amd64.msi
。C:\Python27
。cmd
):C:\Python27\python.exe --version
输出:Python 2.7.18
安装 Python 3.10.11:
python-3.10.11-amd64.exe
。C:\Python310
。py -3.10 --version
输出:Python 3.10.11
检查 py
启动器:
py -0
输出:
-3.10-64 *
-2.7-64
virtualenv
在 cmd
中运行:
py -3.10 -m pip install virtualenv
输出:安装成功。
验证:
py -3.10 -m virtualenv --version
输出:virtualenv x.x.x
在工作目录运行以下命令:
cd C:\Users\YK\Downloads\elegent-builder-master\zaw\vue-for-love_website\ZAW-vue
Python 2.7 虚拟环境:
py -2.7 -m virtualenv venv27
输出:创建 venv27
目录。
Python 3.10 虚拟环境:
py -3.10 -m virtualenv venv310
输出:创建 venv310
目录。
创建两个项目,分别用 Python 2.7 和 3.10。
创建目录:
mkdir ProjectA
cd ProjectA
激活虚拟环境:
..\venv27\Scripts\activate
输出:提示符显示 (venv27)
。
安装 requests
:
pip install requests==2.22.0
创建脚本 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
运行:
python script_a.py
输出:
Fetching data...
{'current_user_url': 'https://api.github.com/user', ...}
退出:
deactivate
cd ..
创建目录:
mkdir ProjectB
cd ProjectB
激活虚拟环境:
..\venv310\Scripts\activate
输出:提示符显示 (venv310)
。
安装 numpy
:
pip install numpy
创建脚本 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
运行:
python script_b.py
输出:
Generating array...
[ komme 2 3]
退出:
deactivate
cd ..
ProjectA:
cd ProjectA
..\venv27\Scripts\activate
python --version
pip list
输出:
Python 2.7.18
requests==2.22.0
ProjectB:
cd ProjectB
..\venv310\Scripts\activate
python --version
pip list
输出:
Python 3.10.11
numpy
找不到 py
命令:
虚拟环境创建失败:
C:\Python27\python.exe
和 C:\Python310\python.exe
是否存在。安装包失败:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests==2.22.0
py
管理。venv27
(Python 2.7)、venv310
(Python 3.10)。requests
;ProjectB 用 Python 3.10 跑 numpy
。快速运行:
cd ProjectA
..\venv27\Scripts\activate
python script_a.py
deactivate
cd ProjectB
..\venv310\Scripts\activate
python script_b.py
deactivate
如果有问题(比如命令失败或输出不对),告诉我具体错误,我帮你解决!