先说一下我电脑上装的anaconda的版本,我电脑上装的是anaconda 2023.07-1,这个版本base里用的python版本是3.11。因为电脑上有3.9版本的Python,想配置个用python3.9的anaconda虚拟环境。另外,anaconda2023.07我的是图形化界面。

可能有同学会问,为啥要建虚拟环境,直接用base不就行了,里面包/库还更全呢!我个人的理解是这样,首先,base里面虽然全,但是一般你不会用里面所有的包/库,而且你可能需要用特定旧版本的某些包/库,base里面都是你安装时候的最新版本,你不可能把你要用的包/库和它依赖的包/库都去降级,所以,重新弄个虚拟环境是最方便的。其次,新开个虚拟环境,可以对base里的包/库做保护,因为你在虚拟环境里怎么折腾,都不会影响base里的,可以起到保护作用。所以,尤其、特别建议新手,一定、务必要设置虚拟环境。最后,对虚拟环境,大家可以理解为就是做个“私人订制”,按你的需求来装你要的包/库,以精确匹配你的需求,没有啥可神秘高深的。

1、配置、删除虚拟环境

两种方式可以完成虚拟环境的创建和删除。
第一种:图形化界面上创建、删除虚拟环境。
第二种:通过终端命令方式创建、删除虚拟环境。

【第一种:图形化界面上创建、删除虚拟环境】

【创建】点击Environments里的创建按钮,选择要使用的python版本,点击创建,等待创建完成即可。

装sd为什么要装python_python

装sd为什么要装python_macos_02

安装完成后,点击相应的虚拟环境,就会使用对应虚拟环境。被使用的虚拟环境的名称后面会有一个绿色的播放图标。进入终端后,输入命令 conda env list 可以查看所有的虚拟环境。当前在命令行最前端会展示使用的虚拟环境(如下图的当前环境为默认的base环境)。如果要激活其他的虚拟环境,可以通过执行命令 conda activate 环境名 来实现。 

装sd为什么要装python_macos_03

此时返回首页,会发现jupyter notebook没有安装,点击【install】,等待安装即可。

装sd为什么要装python_包名_04

装sd为什么要装python_虚拟环境_05

安装后点击【Launch】即可打开(又多了一种解决python和anaconda不匹配的方法\(^o^)/,虽然本质是相同的,都是创建个虚拟环境(#^.^#))。 

【删除】删除很简单,进入到要删除的虚拟环境,点击最下面的【Remove】按钮,在弹出的对话框中选择【Remove】,等待即可。

装sd为什么要装python_macos_06

【第二种:通过终端命令方式创建、删除虚拟环境】

创建和删除虚拟环境命令:
创建虚拟环境:conda create -n 环境名 python版本
删除虚拟环境:conda env remove -n 需要删除的环境名

【创建】进入终端,在终端输入:conda create -n 环境名 python版本

装sd为什么要装python_包名_07

装sd为什么要装python_macos_08

装sd为什么要装python_包名_09

装sd为什么要装python_虚拟环境_10

(这里拿python3.7做个示例,第一次的时候安装失败,因为网络原因,下载python的时候中间连接不上了,碰到这种情况,重新再执行一次命令就ok了。可以看到,成功后anaconda的图形界面里出现了刚刚装的python3-7-2,进入环境后查看你会发现,里面的包很少,连jupyter notebook都没有,只是给创建了个最基本的环境,后面就是,你需要什么就去装什么。)

【删除】退出要删除的环境后,在终端输入:conda env remove -n 需要删除的环境名

装sd为什么要装python_macos_11

2、为虚拟环境安装相应依赖包

安装需要的包需要在终端通过命令安装,有两种命令方式进行安装。
第一种:进入环境后,通过pip进行安装
第二种:进入环境后,通过conda命令进行安装

无论哪种方式,都需要先进入要安装的虚拟环境,才能进行。so,先来说一下跟虚拟环境相关的常用命令。

【跟虚拟环境相关的常用命令】

查看Mac所有环境变量:export

装sd为什么要装python_包名_12

查看conda下包含的虚拟环境:conda env list

装sd为什么要装python_装sd为什么要装python_13

进入conda下的虚拟环境:conda activate 环境名

查看conda版本:conda --version

查看安装了哪些依赖库:conda list

装sd为什么要装python_虚拟环境_14

查看某个环境下安装的库:conda list -n 环境名

装sd为什么要装python_虚拟环境_15

退出环境:conda deactivate

装sd为什么要装python_虚拟环境_16

创建虚拟环境:conda create -n 环境名 python版本

删除环境:conda env remove -n 需要删除的环境名

【第一种:进入环境后,通过pip安装包/库】

安装单个包/库:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名

装sd为什么要装python_macos_17

安装多个包/库:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 库名 库名 ...

装sd为什么要装python_装sd为什么要装python_18

注:https://pypi.tuna.tsinghua.edu.cn/simple 为pip清华源

【第二种:进入环境后,通过conda命令安装包/库】

查找包:conda search 包名

装sd为什么要装python_装sd为什么要装python_19

安装包:conda install 包名

装sd为什么要装python_虚拟环境_20

装sd为什么要装python_装sd为什么要装python_21

 注:这种安装方式会询问是否继续,输入y表示继续。安装到指定环境:conda install -n 环境名 包名

装sd为什么要装python_包名_22

装sd为什么要装python_macos_23

更新包:conda update 包名

删除包:conda remove 包名

PS:无论哪种方式安装包/库的时候,install后面的包/库名都可以指定要装的版本。

对于anaconda上虚拟环境的配置,欢迎跟大家多多讨论交流~

【参考资料】:

https://zhuanlan.zhihu.com/p/614353585

https://www.ngui.cc/article/show-955706.html?action=onClick

https://www.ngui.cc/el/1295524.html?action=onClick

https://www.jianshu.com/p/ce99bf9d9008/