🐍 Conda 环境管理工具:高效管理 Python 与多版本依赖
-
- 🏡一、Conda简介
- [📜 二、Conda 常用命令](#📜 二、Conda 常用命令)
- 📦三、Python环境版本管理
- ⚙️四、.venv虚拟环境管理(在PyCharm环境中的项目必备)
-
- 1.查看Python版本环境
- 2.创建.venv虚拟环境
- 3.激活.venv虚拟环境
- 4.在PyCharm中指定已提前创建好的.venv虚拟环境
- [5.依赖升级(解决 pip 版本过低)](#5.依赖升级(解决 pip 版本过低))
- [🌐 五、Jupyter Notebook 关联 Conda 环境](#🌐 五、Jupyter Notebook 关联 Conda 环境)
-
- 1.先在任意Python环境下,安装ipykernel(如果已安装,此步略过即可)
- 2.使用Python通过ipykernel命令,将conda虚拟环境加入jupyter内核:
- [3.完成以上步骤后,在虚拟环境中启动jupyter lab 后,任意打开一个ipynb文件,点击在左上角的Python[conda env:xxx],就可以选择和切换conda虚拟环境啦!](#3.完成以上步骤后,在虚拟环境中启动jupyter lab 后,任意打开一个ipynb文件,点击在左上角的Python[conda env:xxx],就可以选择和切换conda虚拟环境啦!)
🏡一、Conda简介
Conda是一个开源的软件包管理系统和环境管理系统(一般在安装Anaconda就随着把Conda也安装上了)。它最初是为Python程序创建的,但现在已经可以打包和分发其他软件,适用于Linux、OS X和Windows系统。以下是关于conda的详细信息:
为什么安装Anaconda会同时安装Conda?
因为Conda是Anaconda的核心组件,Anaconda是基于Conda构建的平台。
简单来说:
Anaconda = Conda + Python + 150+科学计算库

详细解释
- Conda是工具,Anaconda是平台
- Conda是一个开源的包管理系统和环境管理系统(如知识库[3]所述)
- Anaconda是一个数据科学平台,它"基于Conda构建"(知识库[3])
- 你可以把Conda看作是Anaconda的"引擎",Anaconda则是"整车"
- Anaconda的组成
- 从知识库[6]可知:Anaconda = Python + 常用库 + 环境管理工具(Conda)
- 安装Anaconda时,Conda作为其环境管理工具被自动包含在内
- 为什么这样设计?
- Anaconda的目的是"开箱即用"的数据科学平台
- 如果没有Conda,Anaconda就无法实现其核心功能------包管理和环境隔离
- 知识库[5]指出:"Anaconda 附带了 conda、Python 和 150 多个科学包及其依赖项"
主要功能
在数据科学与工程开发中,Conda 早已成为不可或缺的基础设施。它不仅是开源的软件包管理器,更是环境隔离系统------最初为Anaconda数据科学发行版设计,现已全面支持Python、R、Julia等多语言生态,完美解决开发者最头疼的依赖冲突问题。
Conda的核心功能主要有两个:(包管理 和 环境管理)
- 包管理 :可以快速安装、运行和更新包及其依赖项,类似于Web前端开发中node.js的nvm版本管理,但功能更强大,能更好地处理依赖关系。
- 环境管理:能够轻松地在计算机上创建、保存、加载和切换环境,使得在同一台机器上管理多个软件包版本成为可能,这对于需要不同版本的Python或特定依赖项的项目非常有用。
相关链接
官网地址 :https://www.anaconda.com
下载链接 :https://www.anaconda.com/download
加速镜像(清华源) :https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
💡 重要提示
🌟 在下载安装python依赖模块时,请优先使用 国内镜像源 下载(官网下载速度慢)
与pip对比
Conda 是开源的 包管理 + 环境管理 双合一工具,支持 Python 与其他语言(R/Julia等),跨平台(Linux/macOS/Windows)。
| 功能 | Conda | pip |
|---|---|---|
| 包管理范围 | ✅ Python + 其他语言 | ❌ 仅限 Python |
| 环境隔离 | ✅ 内置环境管理 | ❌ 需配合 venv/virtualenv |
| 依赖冲突解决 | ✅ 自动化解依赖冲突 | ❌ 需手动处理 |
-
包管理范围:conda不仅可以管理Python包,还可以管理其他语言的包;而pip主要用于管理Python包。
-
环境隔离方式:conda本身可以创建和管理独立的环境,而pip一般要与虚拟环境(如venv)结合使用来实现类似的隔离效果。
-
依赖冲突解决:conda能够解决包之间的依赖关系冲突,确保安装兼容的包;pip在安装包时如果存在依赖冲突,可能需要手动解决。
为什么选择 Conda?
- 多版本共存:同一台机器同时运行 Python 3.7/3.10/3.12
- 依赖精准隔离 :避免
pip install导致的全局包冲突 - 科学计算生态:预装 NumPy/Pandas 等库,免去编译烦恼
✨ 新手建议
从
conda create -n py310 python=3.10开始,逐步掌握环境管理,告别"环境污染"!
📜 二、Conda 常用命令
常用基础命令
shell
# 查看conda版本
conda --version
# 查看 Conda 配置
conda config --show
# 查看环境列表(* 标记当前激活环境)
conda env list
# 或
conda info -e
# 或
conda info --envs
# 查看当前环境安装的包(查看当前虚拟环境安装了哪些包和库)
conda list
包操作(依赖管理)
shell
# 查看(搜索)包,package_name为指定包的名称
conda search package_name
# 安装包:
conda install package_name=x.x #.x.x"表示指定版本,如不添加默认安装最新版本
# 例如:conda install openai
# 例如:conda install openai=1.5
# 安装指定版本(默认最新版)
conda install python=3.10.10 # 例:安装 3.10.10
# 更新包(的版本到最新)
conda update 包名
如:conda update numpy
# 卸载包
conda uninstall 包名
如:conda uninstall pandas
# 查看包依赖
conda info package_name
# 强制重新安装
conda install --force-reinstall package_name
# 清理缓存
conda clean --all
# 导出环境配置(跨机器复用)
conda env export > environment.yml
💡 关键技巧
创建环境时 不指定小版本 (如
python=3.10)会自动匹配最新可用小版本使用
--prefix指定自定义路径(避免污染默认环境目录)
shellconda create --prefix D:\my_envs\py310 python=3.10
环境变量管理
shell
# 查看环境变量
conda env config vars list
# 设置环境变量
conda env config vars set MY_VAR=value
# 删除环境变量
conda env config vars unset MY_VAR
环境克隆和迁移
shell
# 克隆环境
conda create --name new_env --clone old_env
# 导出环境
conda env export > environment.yml
# 从yml文件创建环境(从yml文件恢复环境)
conda env create -f environment.yml
📦三、Python环境版本管理
1.查看Python版本
使用命令conda env list或conda info -e可以查看已有的Python版本列表。
注:带 * 的表示当前激活的Python版本。
shell
conda env list
# 或
conda info -e
# 或
conda info --envs
查看conda当前激活的Python版本
shell
# 例如:
(aienv) D:\GitHub\Python\Ollama>conda info -e
# conda environments:
#
base D:\Program Files\Anaconda3
aienv * D:\Program Files\Anaconda3\envs\aienv
查看conda当前Python版本环境中 pip 已安装了哪些包
shell
(aienv) D:\GitHub\Python\Ollama>pip list
Package Version
---------- -------
pip 25.2
setuptools 78.1.1
wheel 0.45.1
2.创建Python版本
-
语法 :
conda create -n <环境名称> [选项]。-
示例 :创建一个名为
py-3.10.10且指定Python版本为3.10.10的Python版本环境 -
-n 3.10.10表示"在默认环境目录 下创建名为py-3.10.10的Python版本环境"(通常是anaconda的安装anaconda3/envs/py-3.10.10)
shellconda create -n py-3.10.10 python=3.10.10 # 如果 3.10.10 没有,可以用 3.10(Conda 会自动选最新可用的小版本) -
-
指定路径创建 :如果想在指定目录 下创建Python版本环境,可能通过
--prefix参数来指定。-
示例 :在
D:\conda\venvs\py-3.11目录下创建Python版本环境。 -
--prefix D:\conda\venvs\py-3.11表示"在指定路径D:\conda\venvs下创建名为py-3.11的Python版本环境"
shellconda create --prefix D:\conda\venvs\py-3.11 python=3.11 -y # --prefix 后面必须是完整路径 + 环境文件夹名(最后一个目录就是环境名),比如 D:\conda\venvs\py-3.11 -
-
📌注意: 在创建Python版本时,如果不确定某个小版本(如 3.10.10)是否可用,可以先搜索一下,远程是否真的有对应的小版本:
shell# 搜索远程所有Python版本命令 conda search python # 实例操作 PS D:\> conda search python 3 channel Terms of Service accepted Loading channels: done # Name Version Build Channel python 2.7.13 h1b6d89f_16 pkgs/main python 2.7.13 h9912b81_15 pkgs/main python 2.7.13 hb034564_12 pkgs/main python 2.7.14 h2765ee6_18 pkgs/main python 2.7.14 h3e68818_15 pkgs/main python 2.7.14 h4084c39_22 pkgs/main python 2.7.14 h4a10d90_30 pkgs/main python 2.7.14 h4a10d90_31 pkgs/main python 2.7.14 h59f5a59_20 pkgs/main python 2.7.14 h819644d_16 pkgs/main python 2.7.14 h8c3f1cb_23 pkgs/main python 2.7.15 h2880e7c_2 pkgs/main python 2.7.15 h2880e7c_3 pkgs/main python 2.7.15 h2880e7c_4 pkgs/main python 2.7.15 hcb6e200_15 pkgs/main python 2.7.15 hcb6e200_5 pkgs/main python 2.7.15 hcb6e200_7 pkgs/main python 2.7.15 he216670_0 pkgs/main python 2.7.16 hcb6e200_0 pkgs/main python 2.7.17 h930f6bb_0 pkgs/main python 2.7.18 hcb6e200_0 pkgs/main python 2.7.18 hfb89ab9_0 pkgs/main python 3.5.4 h1357f44_23 pkgs/main python 3.5.4 hc495aa9_21 pkgs/main python 3.5.4 hd3c4935_11 pkgs/main python 3.5.4 hdec4e59_20 pkgs/main python 3.5.4 hedc2606_15 pkgs/main python 3.5.5 h0c2934d_0 pkgs/main python 3.5.5 h0c2934d_1 pkgs/main python 3.5.5 h0c2934d_2 pkgs/main python 3.5.6 he025d50_0 pkgs/main python 3.6.2 h09676a0_15 pkgs/main python 3.6.2 h6679aeb_11 pkgs/main python 3.6.3 h210ce5f_2 pkgs/main python 3.6.3 h3389d20_0 pkgs/main python 3.6.3 h3b118a2_4 pkgs/main python 3.6.3 h9e2ca53_1 pkgs/main python 3.6.4 h0c2934d_2 pkgs/main python 3.6.4 h0c2934d_3 pkgs/main python 3.6.4 h6538335_0 pkgs/main python 3.6.4 h6538335_1 pkgs/main python 3.6.5 h0c2934d_0 pkgs/main python 3.6.6 hea74fb7_0 pkgs/main python 3.6.7 h33f27b4_0 pkgs/main python 3.6.7 h33f27b4_1 pkgs/main python 3.6.7 h9f7ef89_2 pkgs/main python 3.6.8 h9f7ef89_0 pkgs/main python 3.6.8 h9f7ef89_1 pkgs/main python 3.6.8 h9f7ef89_7 pkgs/main python 3.6.9 h5500b2f_0 pkgs/main python 3.6.10 h9f7ef89_0 pkgs/main python 3.6.10 h9f7ef89_1 pkgs/main python 3.6.10 h9f7ef89_2 pkgs/main python 3.6.12 h5500b2f_2 pkgs/main python 3.6.13 h3758d61_0 pkgs/main python 3.7.0 hea74fb7_0 pkgs/main python 3.7.1 h33f27b4_3 pkgs/main python 3.7.1 h33f27b4_4 pkgs/main python 3.7.1 h8c8aaf0_6 pkgs/main python 3.7.1 he44a216_5 pkgs/main python 3.7.2 h8c8aaf0_0 pkgs/main python 3.7.2 h8c8aaf0_10 pkgs/main python 3.7.2 h8c8aaf0_2 pkgs/main python 3.7.3 h8c8aaf0_0 pkgs/main python 3.7.3 h8c8aaf0_1 pkgs/main python 3.7.4 h5263a28_0 pkgs/main python 3.7.5 h8c8aaf0_0 pkgs/main python 3.7.6 h60c2a47_2 pkgs/main python 3.7.7 h60c2a47_0_cpython pkgs/main python 3.7.7 h60c2a47_2 pkgs/main python 3.7.7 h81c818b_4 pkgs/main python 3.7.9 h60c2a47_0 pkgs/main python 3.7.10 h6244533_0 pkgs/main python 3.7.11 h6244533_0 pkgs/main python 3.7.13 h6244533_0 pkgs/main python 3.7.13 h6244533_1 pkgs/main python 3.7.15 h6244533_0 pkgs/main python 3.7.15 h6244533_1 pkgs/main python 3.7.16 h6244533_0 pkgs/main python 3.8.0 hff0d562_0 pkgs/main python 3.8.0 hff0d562_1 pkgs/main python 3.8.0 hff0d562_2 pkgs/main python 3.8.1 h5fd99cc_1 pkgs/main python 3.8.1 h5fd99cc_8_cpython pkgs/main python 3.8.1 he1778fa_7_cpython pkgs/main python 3.8.2 h5fd99cc_0 pkgs/main python 3.8.2 h5fd99cc_11 pkgs/main python 3.8.2 he1778fa_13 pkgs/main python 3.8.3 he1778fa_0 pkgs/main python 3.8.3 he1778fa_2 pkgs/main python 3.8.5 h5fd99cc_1 pkgs/main python 3.8.5 he1778fa_0 pkgs/main python 3.8.8 hdbf39b2_4 pkgs/main python 3.8.8 hdbf39b2_5 pkgs/main python 3.8.10 hdbf39b2_7 pkgs/main python 3.8.11 h6244533_1 pkgs/main python 3.8.12 h6244533_0 pkgs/main python 3.8.13 h6244533_0 pkgs/main python 3.8.13 h6244533_1 pkgs/main python 3.8.15 h6244533_1 pkgs/main python 3.8.15 h6244533_2 pkgs/main python 3.8.15 h82bb817_0 pkgs/main python 3.8.16 h1aa4202_4 pkgs/main python 3.8.16 h6244533_2 pkgs/main python 3.8.16 h6244533_3 pkgs/main python 3.8.17 h1aa4202_0 pkgs/main python 3.8.17 h6244533_0 pkgs/main python 3.8.18 h1aa4202_0 pkgs/main python 3.8.18 h6244533_0 pkgs/main python 3.8.19 h1aa4202_0 pkgs/main python 3.8.20 h8205438_0 pkgs/main python 3.9.0 h6244533_2 pkgs/main python 3.9.0 h8aef87e_1 pkgs/main python 3.9.1 h6244533_2 pkgs/main python 3.9.2 h6244533_0 pkgs/main python 3.9.4 h6244533_0 pkgs/main python 3.9.5 h6244533_3 pkgs/main python 3.9.6 h6244533_0 pkgs/main python 3.9.6 h6244533_1 pkgs/main python 3.9.7 h6244533_1 pkgs/main python 3.9.11 h6244533_1 pkgs/main python 3.9.11 h6244533_2 pkgs/main python 3.9.12 h6244533_0 pkgs/main python 3.9.13 h6244533_1 pkgs/main python 3.9.13 h6244533_2 pkgs/main python 3.9.15 h6244533_0 pkgs/main python 3.9.15 h6244533_1 pkgs/main python 3.9.15 h6244533_2 pkgs/main python 3.9.16 h1aa4202_3 pkgs/main python 3.9.16 h6244533_0 pkgs/main python 3.9.16 h6244533_1 pkgs/main python 3.9.16 h6244533_2 pkgs/main python 3.9.17 h1aa4202_0 pkgs/main python 3.9.17 h6244533_0 pkgs/main python 3.9.18 h1aa4202_0 pkgs/main python 3.9.18 h6244533_0 pkgs/main python 3.9.19 h1aa4202_0 pkgs/main python 3.9.19 h1aa4202_1 pkgs/main python 3.9.20 h8205438_1 pkgs/main python 3.9.21 h8205438_1 pkgs/main python 3.9.23 h716150d_0 pkgs/main python 3.9.24 h716150d_0 pkgs/main python 3.9.24 h716150d_1 pkgs/main python 3.9.25 h716150d_1 pkgs/main python 3.10.0 h96c0403_3 pkgs/main python 3.10.0 hbb2ffb3_0 pkgs/main python 3.10.0 hbb2ffb3_1 pkgs/main python 3.10.0 hbb2ffb3_2 pkgs/main python 3.10.3 hbb2ffb3_5 pkgs/main python 3.10.4 hbb2ffb3_0 pkgs/main python 3.10.6 hbb2ffb3_0 pkgs/main python 3.10.6 hbb2ffb3_1 pkgs/main python 3.10.8 h966fe2a_1 pkgs/main python 3.10.8 hbb2ffb3_0 pkgs/main python 3.10.9 h966fe2a_0 pkgs/main python 3.10.9 h966fe2a_1 pkgs/main python 3.10.9 h966fe2a_2 pkgs/main python 3.10.10 h966fe2a_2 pkgs/main python 3.10.11 h966fe2a_2 pkgs/main python 3.10.11 he1021f5_3 pkgs/main python 3.10.12 h966fe2a_0 pkgs/main python 3.10.12 he1021f5_0 pkgs/main python 3.10.13 h966fe2a_0 pkgs/main python 3.10.13 he1021f5_0 pkgs/main python 3.10.14 he1021f5_0 pkgs/main python 3.10.14 he1021f5_1 pkgs/main python 3.10.15 h4607a30_1 pkgs/main python 3.10.16 h4607a30_1 pkgs/main python 3.10.18 h981015d_0 pkgs/main python 3.10.19 h981015d_0 pkgs/main python 3.11.0 h966fe2a_2 pkgs/main python 3.11.0 h966fe2a_3 pkgs/main python 3.11.2 h966fe2a_0 pkgs/main python 3.11.3 h966fe2a_0 pkgs/main python 3.11.3 he1021f5_1 pkgs/main python 3.11.4 h966fe2a_0 pkgs/main python 3.11.4 he1021f5_0 pkgs/main python 3.11.5 h966fe2a_0 pkgs/main python 3.11.5 he1021f5_0 pkgs/main python 3.11.7 he1021f5_0 pkgs/main python 3.11.8 he1021f5_0 pkgs/main python 3.11.9 he1021f5_0 pkgs/main python 3.11.10 h4607a30_0 pkgs/main python 3.11.11 h4607a30_0 pkgs/main python 3.11.13 h981015d_0 pkgs/main python 3.11.14 h981015d_0 pkgs/main python 3.12.0 h1d929f7_0 pkgs/main python 3.12.1 h1d929f7_0 pkgs/main python 3.12.2 h1d929f7_0 pkgs/main python 3.12.3 h1d929f7_0 pkgs/main python 3.12.3 h1d929f7_1 pkgs/main python 3.12.4 h14ffc60_1 pkgs/main python 3.12.5 h14ffc60_1 pkgs/main python 3.12.6 h14ffc60_1 pkgs/main python 3.12.7 h14ffc60_0 pkgs/main python 3.12.8 h14ffc60_0 pkgs/main python 3.12.9 h14ffc60_0 pkgs/main python 3.12.11 h716150d_0 pkgs/main python 3.12.12 h716150d_0 pkgs/main python 3.12.12 h716150d_1 pkgs/main python 3.13.0 hadb2040_100_cp313 pkgs/main python 3.13.1 hadb2040_100_cp313 pkgs/main python 3.13.2 hadb2040_100_cp313 pkgs/main python 3.13.3 h286a616_100_cp313 pkgs/main python 3.13.4 h286a616_100_cp313 pkgs/main python 3.13.5 h286a616_100_cp313 pkgs/main python 3.13.7 h260b955_100_cp313 pkgs/main python 3.13.9 h260b955_100_cp313 pkgs/main python 3.13.10 h260b955_100_cp313 pkgs/main python 3.13.11 h260b955_100_cp313 pkgs/main python 3.14.0 h23c4bee_0_cp314t pkgs/main python 3.14.0 h23c4bee_1_cp314t pkgs/main python 3.14.0 h3bc0a5a_100_cp314 pkgs/main python 3.14.0 h3bc0a5a_101_cp314 pkgs/main python 3.14.1 h23c4bee_0_cp314t pkgs/main python 3.14.1 h23c4bee_1_cp314t pkgs/main python 3.14.1 h3bc0a5a_100_cp314 pkgs/main python 3.14.1 h3bc0a5a_101_cp314 pkgs/main
3.激活Python版本
使用命令conda activate <环境名称>,激活后命令行提示符会在目录的最前面显示当前环境名称,例如:(aienv) D:\GitHub\Python\AI人工智能,表示已切换到该环境。
shell
conda activate aienv
# 注:如果是使用--prefix来在指定目录下创建的Python版本环境,那么必须用完整路径激活!!不能写成 conda activate py-3.11,因为 Conda (会co去默认环境目录查找)不知道这个名字对应哪个路径。
conda activate D:\conda\venvs\py-3.11
注:有时候conda activate激活环境没反应,是因为打开命令行工具的方式不对,正确的打开方式:
- 先打开需要运行命令行工具的目录
- 点击上方地址栏目录,输入cmd 即可在当前目录中正确打开开命令行工具啦!
4.退出Python版本
使用conda deactivate命令可退出当前激活的虚拟环境。
shell
conda deactivate
5.删除Python版本
使用命令conda remove -n <环境名称> --all可根据环境名删除虚拟环境。
shell
conda remove -n aienv --all
# 如果是使用--prefix来在指定目录下创建的Python版本环境,那么在删除时必须也要用 --prefix 指定完整路径
conda remove --prefix D:\conda\venvs\py-3.11 --all
⚙️四、.venv虚拟环境管理(在PyCharm环境中的项目必备)
1.查看Python版本环境
在创建.venv虚拟环境之前,先查看确认一下当前激活的Python版本环境(这里以刚才创建的py-3.10.10为例)后,进入要创建.venv虚拟环境项目的根目录
注:有时候conda activate激活环境没反应,是因为打开命令行工具的方式不对,正确的打开方式:
- 先打开需要运行命令行工具的目录(如,xxx项目录的根目录)
- 点击上方地址栏目录,输入cmd 即可在当前目录中正确打开开命令行工具啦!
shell
# 查看并确定一下,当前已激活Python版本环境
python --version
# 应输出:Python 3.10.10
where python
# 应输出:D:\...\modeltry\.venv\Scripts\python.exe
# 如果没有不是自己想要的Python版本环境,可以重新创建 和 激活Python版本环境
# 1. 激活 Conda 环境
conda activate py-3.10.10
2.创建.venv虚拟环境
在项目的根目录创建一个名为.venv的虚拟环境
**注:**这个.venv的目录名是可以自己定义的,但一般都叫.venv
注:创建成功后,会自动生成一个.venv的目录,这里面就是基于当前激活Python版本环境来创建的虚拟环境,里面包含了Python.exe、pip.exe,在激活.venv虚拟环境后,项目中所安装的Python相关模块都是基于.venv\Scripts里面包含的Python.exe、pip.exe 的版本来运行的!!
shell
python -m venv .venv
3.激活.venv虚拟环境
注:激活成功后,会在命令行窗口中的目录的最前面,显示当前已激活.venv虚拟环境,和python版本,如:(.venv)
**注:**只要有了这个.venv虚拟环境的目录后,直接运行 .venv\Scripts\activate 命令激活
shell
.venv\Scripts\activate
# (.venv) (py-3.10.10) D:\GitHub\Python\AI人工智能\AIGC生成式人工智能\智能音频一体化\AudioSystem_v2.0_KWS\modeltry>
-
扩展:
- 在用
pip install -r requirements.txt命令来安装项目依赖, - 可能提示当前.venv虚拟环境中的pip版本过低,此时直接在当以已激活的.venv虚拟环境中,
- 执行
python.exe -m pip install --upgrade pip命令即可完成更新!!
shell[notice] A new release of pip available: 22.3.1 -> 25.3 [notice] To update, run: python.exe -m pip install --upgrade pip (.venv) (py-3.10.10) D:\GitHub\Python\AI人工智能\AIGC生成式人工智能\智能音频一体化\AudioSystem_v2.0_KWS\modeltry>python.exe -m pip install --upgrade pip - 在用
4.在PyCharm中指定已提前创建好的.venv虚拟环境
如果在Python项目中已存在(提前创建好的)了.venv虚拟环境,那么在PyCharm中直接指定到该项目中的.venv虚拟环境即可!就不用再重新创建.venv虚拟环境了。

5.依赖升级(解决 pip 版本过低)
有时候在使用pip安装依赖模块时,可能会提示 pip 版本过低,无法安装,可直接在当前的虚拟环境中更新升级 pip 即可!
shell
(.venv) python -m pip install --upgrade pip
💡 PyCharm 配置
项目 → Settings → Python Interpreter → 选择
.\.venv\Scripts\python.exe
🌐 五、Jupyter Notebook 关联 Conda 环境
有时候为了方便在Jupyter Notebook中运行或演示不同Python版本的代码,同样也可以在Jupyter Notebook中指定自己创建好的虚拟环境。
1.先在任意Python环境下,安装ipykernel(如果已安装,此步略过即可)
自建虚拟环境中输入:
shell
pip install ipykernel
2.使用Python通过ipykernel命令,将conda虚拟环境加入jupyter内核:
shell
python -m ipykernel install --name=环境名
如:python -m ipykernel install --name=aienv # 将aienv 注册为 Jupyter 内核
当输出下面这个提示信息,就表示已将虚拟环境成功加入jupyter内核中!
Installed kernelspec aienv in D:\xxx...\jupyter\kernels\aienv
3.完成以上步骤后,在虚拟环境中启动jupyter lab 后,任意打开一个ipynb文件,点击在左上角的Python[conda env:xxx],就可以选择和切换conda虚拟环境啦!
shell
jupyter lab # 启动 Jupyter
注:启动jupyter,想要切换虚拟环境,在 Notebook 顶部菜单 Kernel → Change Kernel 选择对应的 aienv即可!!