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

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
量子位
aimingoo的专栏
aimingoo的专栏
V
V2EX
Vercel News
Vercel News
B
Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
TaoSecurity Blog
TaoSecurity Blog
N
News and Events Feed by Topic
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
S
Secure Thoughts
U
Unit 42
博客园 - 叶小钗
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News | PayPal Newsroom
Help Net Security
Help Net Security
S
Security Affairs
Microsoft Security Blog
Microsoft Security Blog
W
WeLiveSecurity
博客园 - Franky
Forbes - Security
Forbes - Security
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Schneier on Security
Schneier on Security
I
InfoQ
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
Webroot Blog
Webroot Blog
AWS News Blog
AWS News Blog
Last Week in AI
Last Week in AI
Security Archives - TechRepublic
Security Archives - TechRepublic
C
CERT Recently Published Vulnerability Notes
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
L
Lohrmann on Cybersecurity
SecWiki News
SecWiki News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
J
Java Code Geeks

秋澪的博客

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 | 秋澪的博客 MariaDB数据库搭建及基础用指南 | 秋澪的博客 Nginx-Proxy-Manager问题补充:DNSPod证书申请错误、NPM端口丢失 | 秋澪的博客 VPS基础配置 | 秋澪的博客 Ubuntu安装及ROS安装教程 | 秋澪的博客 个人图床搭建之Github篇 | 秋澪的博客 利用Replit搭建个人博客Halo | 秋澪的博客 AI工具网站推荐 | 秋澪的博客 MarkDown入门教程 | 秋澪的博客 基于Ubuntu安装docker | 秋澪的博客 利用FRP 和 Nginx-Proxy-Manager 为内网设备提供内外穿透服务 | 秋澪的博客 Hello World | 秋澪的博客
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换源

未完待续

修改默认虚拟环境位置

未完待续