惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

秋澪的博客

MediaWarp说明文档 | 秋澪的博客 MacBook Air M1 2025年211工科本科生体验报告 | 秋澪的博客 利用CloudFlare搭建测速网站 | 秋澪的博客 Fcricle踩坑记录 | 秋澪的博客 FastCDN说明文档 | 秋澪的博客 利用CloudFlare搭建镜像站 | 秋澪的博客 Docker入门教程 | 秋澪的博客 UnlockMusic音乐解锁搭建教程 | 秋澪的博客 Excalidraw搭建教程 | 秋澪的博客 AutoFilm说明文档 | 秋澪的博客 利用CDN加速并保护站点 | 秋澪的博客 校园网碎碎念 | 秋澪的博客 三朝元老再就业——百元机装机体验暨P104-100快速上手 | 秋澪的博客 将M.2固态硬盘设为群晖存储池 | 秋澪的博客 Git快速上手指南 | 秋澪的博客 利用Ventoy打造最强硬盘 | 秋澪的博客 为Hexo博客添加后台管理系统 | 秋澪的博客 MarkDown笔记软件推荐 | 秋澪的博客 免费的云数据库推荐 | 秋澪的博客 使用BetterNCM美化网易云 | 秋澪的博客 Armbian手把手玩机指南01-系统刷入并安装可视化桌面 | 秋澪的博客 IOS旧版本应用推荐 | 秋澪的博客 51单片机学习记录-01 | 秋澪的博客 51单片机学习记录-00 | 秋澪的博客 免费域名注册 | 秋澪的博客 Hexo重装记录 | 秋澪的博客 利用CloudFlare创建域名邮箱 | 秋澪的博客 在Render上部署Alist | 秋澪的博客 Docker命令大全 | 秋澪的博客 利用Replit搭建Alist | 秋澪的博客
Conda安装以及基础使用方法 | 秋澪的博客
标签 · 2024-07-17 · via 秋澪的博客

此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

闲聊
由于学业压力(不仅要拿学分还得打比赛),好久没更新,好不容易到暑假又有其他比赛要打(属于是学牲了),但想着也拖更了4个月了,今天浅浅更一下~
顺便问一下,单片机的还有人想看吗,今年打了一下蓝桥杯,也算有点心得吧

最近在写python项目是python3.12的,但我本身在搞ROS1(远古版本kinetic)机器本身是Ubuntu 16.04lts的,自带的软件仓库最高只支持到3.5,不同的python版本和包装载一起容易打架,于是学了一下python的包管理软件conda(也可也尝试其他更轻量级的,例如venv、pyenv)

前置知识

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

  1. 下载:首先,你需要从 Anaconda 官网下载 Anaconda 或 Miniconda 官网下载 Miniconda 的适用于 Windows 的安装程序。如果你的网络环境受限,可以考虑使用镜像源anaconda | 清华大学开源软件镜像站
  2. 安装:下载完成后,双击安装程序并按照提示进行安装。
    1. 仅为我安装/为所有用户安装:这个大家看着选吧,不过由于Windows糟糕的多用户体验,该不会真的有人为Windows设置多用户吧(bushi
    2. 安装位置我习惯是默认(我不太喜欢把程序放在不同盘的各个角落,更喜欢放在Windows默认的存储位置,这样也方便清理)
    3. 高级选项1:Create start menu shortcuts(将快捷方式添加到开始菜单):这个影响不大,根据自己的喜好
    4. 高级选项2:Add Anoconda/Miniconda to the system enviroment vraiable(将Anoconda/Miniconda添加至系统环境变量):如果勾选这个选项后,启动默认的Powershell的时候也会启动Conda的虚拟环境,有可能会造成PowerShell启动速度减慢,所以我没勾选,如果不勾选的并且需要在Windows终端中使用Conda可以看后续补充部分
      1
      2
      C:\Users\akimio>conda
      'conda' 不是内部或外部命令,也不是可运行的程序或批处理文件。
    5. 高级选项3:Register Miniforge3 as my default Python 3.12:勾选这个以后在终端输入python会找到conda的python进行启动(类型于将python注册到环境变量),如果你未勾选该选项,且之前卸载掉python,打开终端键入python会直接告诉你python未安装,然后跳转到Mircosoft Store的Python安装页面,如果有多版本Python的使用需求,则不建议安装,这样可以保默认环境的整洁

我的的话是Add Anoconda/Miniconda to the system enviroment vraiableRegister 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. 创建一个新的虚拟环境:

    1
    conda create --n you_venv_name python=3.5

    这样我就创建了一个名为you_venv_name的python3.5的虚拟环境,如果没有指定python版本,创建的python版本是对应于你的Conda版本的
    还可以指定虚拟环境的创建位置,可以创建在你的项目根目录下,这样方便辨别是哪个项目使用的吗,默认是创建在Conda自己配置的一个位置,和之前安装Conda的位置有关,后面可以指定默认的虚拟环境安装位置

  2. 激活环境:

    1
    conda activate you_venv_name

    然后前面的(base)就变成了(you_venv_name),代表以及进入了这个虚拟环境

  3. 安装包:
    在当前激活的环境下安装包,有两种安装方式,具体区别看前面的前置知识

    1
    2
    conda install package_name
    pip install package_name
  4. 退出环境:

    1
    conda deactivate

    然后前面的(you_venv_name)又变成了(base),代表回到了主环境

  5. 查看当前计算机有哪些虚拟环境

    1
    conda env list

    可以看到已安装虚拟环境的名字和位置,前面有*的是当前激活的虚拟环境名字

  6. 删除虚拟环境

    1. 通过命令行删除:
      1
      conda remove -name you_venv_name --all
    2. 直接删除虚拟环境安装位置:
      通过conda env list查看安装位置,直接把文件夹删除即可
      删除完成后再通过conda env list查看当前已安装的虚拟环境发现环境已被删除

补充

一些小技巧,有需要随机更新

VS Code的使用

在VS Code中直接打开Python项目的.py文件,VS Code会问你选用哪个解释器,选择对应解释器就好,VS Code会记住这个选项
VS Code选择项目释义器
VS Code选择项目解释器

Terminal优化

如果你和我一样喜欢使用Windows的终端,并且没有把Conda加入系统环境变量Path的路径,也可以跟着接下来的操作设置

打开设置
打开设置Windwos终端的设置

添加新的配置文件
添加新配置文件

名称任意,我这里填了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换源

未完待续

修改默认虚拟环境位置

未完待续