简单聊聊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虚拟环境包管理
Changelog
1ee1e-on

