Skip to content

简单聊聊Python中虚拟环境管理

About 644 wordsAbout 2 min

pythonventconda

2024-05-16

虚拟环境是一种用于隔离不同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.21

1.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) test

1.3 退出虚拟环境

deactivate 退出当前的虚拟环境

deactivate

20250826补充

今天在使用阿里云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

10/10/25, 3:04 PM
View All Changelog
  • 1ee1e-feat(wiki): algo -on

求求了,快滚去学习!!!

求求了求求了,快去学习吧!

【题单】贪心算法

不知道方向的时候,可以多看看书,书会给你指明下一步该干什么,加油!