Conda安装以及基础使用方法
闲聊
由于学业压力(不仅要拿学分还得打比赛),好久没更新,好不容易到暑假又有其他比赛要打(属于是学牲了),但想着也拖更了4个月了,今天浅浅更一下~
顺便问一下,单片机的还有人想看吗,今年打了一下蓝桥杯,也算有点心得吧
最近在写python项目是python3.12的,但我本身在搞ROS1(远古版本kinetic)机器本身是Ubuntu 16.04lts的,自带的软件仓库最高只支持到3.5,不同的python版本和包装载一起容易打架,于是学了一下python的包管理软件conda(也可也尝试其他更轻量级的,例如venv、pyenv)
前置知识
Conda是什么
Conda是与编程语言无关的包管理工具,具有严格依赖检查,可以解决复杂的依赖问题
在安装了Conda的设备上,全局有且只能有唯一一个Conda包管理工具,在Windows上你可以尝试开启多个Conda虚拟环境然后执行
1 | where conda |
然后可以发现不同的虚拟环境指向的Conda都是同一个路径
Pip是什么
Pip是仅限于安装Python包的包管理工具,且对于依赖的检查并不严格,这就有可能会造成我们运行项目时一些奇奇怪怪的Bug,所以我们需要使用Conda等包管理工具进行管理
在Conda中,不同的虚拟环境都有不同的Pip包管理,优先使用局部Pip对项目的包进行管理
在Windows上你可以尝试开启多个Conda虚拟环境然后执行
1 | where pip |
然后可以发现不同的虚拟环境指向的Pip的路径不同
在Base环境下运行该命令会发现只找到了一个pip,但是再其他自己创建的虚拟环境中会发现有两个pip,一个是虚拟环境的局部pip,另一个就是指向了Base环境的全局pip了,在其他虚拟环境中执行的pip是局部的pip
此外,可以开始尝试使用Conda安装python的包,Conda安装的包是完全独立的,并且会强制检查版本依赖,可以解决大多数依赖问题,且卸载无用包的时候可以检查项目中有无其他包依赖该包的依赖,若无依赖可以连带该包的依赖一同卸载,而使用pip卸载依赖时候需要指定包进行卸载,不能卸载依赖包,会给项目带来许多冗余
当然Conda也是有许多缺点的,例如往往会占据更大的存储空间,且包更新速度较pip更慢
总结:搭建项目环境时使用Conda为主,Pip为辅
环境参考
我这里以Windows为例,我主要使用VS Code作为我的python项目开发编辑器(注意:VS Code并不是IDE,本质上是一个文本编辑器),常用的终端软件是Windows Terminal(微软的终端)
安装Conda之前最好将你原本的Python卸载掉,注意要完整卸载,而且注意环境变量
选择版本
Conda有Anaconda和Miniconda两个版本,Anaconda在深度学习领域运用较多,所以自带Pytorch等包,如果你不需要Pytorch就选择Miniconda(后期有需要也可也在Miniconda再装Pytorch),如果你不知道什么是Pytorch,那就选择Miniconda
安装 Anaconda 或 Miniconda
- 下载:首先,你需要从 Anaconda 官网下载 Anaconda 或 Miniconda 官网下载 Miniconda 的适用于 Windows 的安装程序。如果你的网络环境受限,可以考虑使用镜像源anaconda | 清华大学开源软件镜像站
- 安装:下载完成后,双击安装程序并按照提示进行安装。
- 仅为我安装/为所有用户安装:这个大家看着选吧,不过由于Windows糟糕的多用户体验,该不会真的有人为Windows设置多用户吧(
bushi - 安装位置我习惯是默认(我不太喜欢把程序放在不同盘的各个角落,更喜欢放在Windows默认的存储位置,这样也方便清理)
- 高级选项1:Create start menu shortcuts(将快捷方式添加到开始菜单):这个影响不大,根据自己的喜好
- 高级选项2:Add Anoconda/Miniconda to the system enviroment vraiable(将Anoconda/Miniconda添加至系统环境变量):如果勾选这个选项后,启动默认的Powershell的时候也会启动Conda的虚拟环境,有可能会造成PowerShell启动速度减慢,所以我没勾选,如果不勾选的并且需要在Windows终端中使用Conda可以看后续补充部分
1
2C:\Users\akimio>conda
'conda' 不是内部或外部命令,也不是可运行的程序或批处理文件。 - 高级选项3:Register Miniforge3 as my default Python 3.12:勾选这个以后在终端输入python会找到conda的python进行启动(类型于将python注册到环境变量),如果你未勾选该选项,且之前卸载掉python,打开终端键入python会直接告诉你python未安装,然后跳转到Mircosoft Store的Python安装页面,如果有多版本Python的使用需求,则不建议安装,这样可以保默认环境的整洁
- 仅为我安装/为所有用户安装:这个大家看着选吧,不过由于Windows糟糕的多用户体验,该不会真的有人为Windows设置多用户吧(
我的的话是Add Anoconda/Miniconda to the system enviroment vraiable
和Register Miniforge3 as my default Python 3.12
都未勾选
使用Conda
如果你和我一样的配置,直接打开PowerShell后无论是Conda还是Python应该都无法运行(如果可以运行说明勾选的内容和我的不一样),无论高级选项是否相同都可以接着往下看
使用 Anaconda Prompt
Anaconda Prompt 是一个专门用于 Anaconda 或 Miniconda 的命令行工具,它预先配置了 conda 环境。
如果你勾选了Create start menu shortcuts,应该可以在开始菜单下找到Anaconda Powershell Prompt (miniconda3)
和Anaconda Prompt (miniconda3)
(如果没有可以手动配置一下),其本质上是一个快捷方式,就是在启动PowerShell时激活Conda
1 | %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\miniconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\miniconda3' " |
如果你没有勾选的话可以把我上面的Conda路径替换成你的安装路径,然后在PowerShell中执行这段命令就会发现前面多了一个(base)
,这说明已经进入了Conda的虚拟环境,再执行python
也成功进入到了Python的命令行界面而不是跳转到Python的下载界面
Conda相关命令
尽量不要在Base环境中配置依赖,每个项目都应该有自己的虚拟环境,甚至是每个分支都可以有自己的虚拟环境
假设当前已经进入Conda环境(前面有(base)
)
-
创建一个新的虚拟环境:
1
conda create --n you_venv_name python=3.5
这样我就创建了一个名为
you_venv_name
的python3.5的虚拟环境,如果没有指定python版本,创建的python版本是对应于你的Conda版本的
还可以指定虚拟环境的创建位置,可以创建在你的项目根目录下,这样方便辨别是哪个项目使用的吗,默认是创建在Conda自己配置的一个位置,和之前安装Conda的位置有关,后面可以指定默认的虚拟环境安装位置 -
激活环境:
1
conda activate you_venv_name
然后前面的
(base)
就变成了(you_venv_name)
,代表以及进入了这个虚拟环境 -
安装包:
在当前激活的环境下安装包,有两种安装方式,具体区别看前面的前置知识1
2conda install package_name
pip install package_name -
退出环境:
1
conda deactivate
然后前面的
(you_venv_name)
又变成了(base)
,代表回到了主环境 -
查看当前计算机有哪些虚拟环境
1
conda env list
可以看到已安装虚拟环境的名字和位置,前面有
*
的是当前激活的虚拟环境名字 -
删除虚拟环境
- 通过命令行删除:
1
conda remove -name you_venv_name --all
- 直接删除虚拟环境安装位置:
通过conda env list
查看安装位置,直接把文件夹删除即可
删除完成后再通过conda env list
查看当前已安装的虚拟环境发现环境已被删除
- 通过命令行删除:
补充
一些小技巧,有需要随机更新
VS Code的使用
在VS Code中直接打开Python项目的.py
文件,VS Code会问你选用哪个解释器,选择对应解释器就好,VS Code会记住这个选项
Terminal优化
如果你和我一样喜欢使用Windows的终端,并且没有把Conda加入系统环境变量Path的路径,也可以跟着接下来的操作设置
打开设置
添加新的配置文件
名称任意,我这里填了Conda
启动命令大致如下(其实就是添加到开启菜单的那个快捷方式的启动命令)
位置需要修改成你的安装路径,如果是默认的安装路径可以直接使用我的启动命令(先试试能不能在PowerShell中运行然后启动Conda环境)
1 | %windir%\System32\cmd.exe "/K" C:\ProgramData\miniconda3\Scripts\activate.bat C:\ProgramData\miniconda3 |
图标可以去Conda安装路径的Menu
问下找,也可也自己去网上找资源,如果是默认的安装路径可以直接使用我提供的路径C:\ProgramData\miniconda3\Menu\Iconleak-Atrous-Console.ico
配置参数
然后打开终端时可以下拉列表就可以看到新添加的Conda,也可以将Conda设置为启动终端的默认配置,这里不再演示
Conda换源
未完待续
修改默认虚拟环境位置
未完待续
- 感谢您的赞赏。