简单聊聊Python中虚拟环境管理
虚拟环境是一种用于隔离不同Python项目所需要依赖的机制。他允许我们在同一台机器上同时安装和管理多个Python版本,以及每个版本所需要的包。通过虚拟环境,我们可以避免不同项目之间的依赖冲突,并且可以针对特定项目选择特定的Python版本。
我的Mac电脑升级了OS的小版本,导致我的虚拟环境用不了了,我也不知道为什么,很难受,因此需要重新创建虚拟环境,里面的依赖库不对应,导致运行不起来,也很难受。
这里简单说一下我使用的Python虚拟环境,对于虚拟环境还是蛮有作用的,每一个项目使用不同的环境,能够避免依赖库之前的版本问题。
常见的有python的venv的环境和conda两种方式创建虚拟环境。
一、Venv
1.1 创建虚拟环境
使用python -m venv VENR_DIR来创建, VENV_DIR指定存放环境的目录,VERV_DIR一般使用venv,这是一个不成文的规定。
(base) ➜ test1 python -m venv venv
(base) ➜ test1 ls
venv
(base) ➜ test1 source venv/bin/activate
(venv) (base) ➜ test1 python --version
Python 3.8.8如果我们想指定python的版本也是可以的,使用python3.9 -m venv VENV_DIR,前提是你电脑本地有对应版本的python解释器,如下:
(venv) (base) ➜ test2 python3.9 -m venv venv
(venv) (base) ➜ test2 ls
venv
(venv) (base) ➜ test2 source venv/bin/activate
(venv) (base) ➜ test2 python --version
Python 3.9.211.2 激活使用虚拟环境
激活虚拟环境source VENV_DIR/bin/activate(前面的venv就是环境的名称)
// source VENV_DIR/bin/activate
(base) ➜ test source venv/bin/activate
(venv) (base) ➜ test ls
venv
(venv) (base) ➜ test python3 --version
Python 3.9.6
(venv) (base) ➜ test1.3 退出虚拟环境
deactivate 退出当前的虚拟环境
deactivate20250826补充
今天在使用阿里云mindopt的时候,关于平台架构的问题, 就是创建出来的架构是x86_64的,但是我的是mac电脑,架构师arm64的,导致架构不统一。
切换不同架构的虚拟环境,通过arch -x86_64和原生终端切换shell后,分别激活对应的虚拟环境。
例如:
# x86 环境
arch -x86_64 zsh
source my_venv_x86/bin/activate
# arm 环境
arch -arm64 zsh # 或直接关闭 Rosetta
source my_venv_arm/bin/activate二、Conda
conda创建虚拟环境
conda查看虚拟环境
conda切换虚拟环境
conda activate envName 切换到envName环境,
conda deactivate 退出虚拟环境
conda虚拟环境包管理
三、UV
uvicorn是什么?Python Uvicorn 简介
uv python install 3.12 使用uv下载python3.12环境
uv python pin 3.12 uv固定使用的Python 版本
uv add 下载对应的依赖,比如uv add requests 下载http请求包
- 例如:
uv add sentence_transformers chromadb google-genai python-dotenv --index-url https://pypi.tuna.tsinghua.edu.cn/simple使用清华源下载对应的依赖。

