Anaconda 安装与虚拟环境创建完整指南
Anaconda 安装与虚拟环境创建完整指南
Anaconda 是目前最流行的 Python 和数据科学工具集之一,它不仅可以轻松管理 Python 包,还能提供强大的虚拟环境功能,避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者,那么 Anaconda 是你的首选工具。
在这篇博客中,我们将从零开始,详细介绍如何下载、安装 Anaconda,并创建虚拟环境,帮助你快速搭建开发环境。
一、什么是 Anaconda?为什么需要它?
1.1 Anaconda 简介
Anaconda 是一个开源的 Python 和 R 语言分发工具,包含了丰富的科学计算库(如 NumPy、SciPy、Pandas)和深度学习框架(如 TensorFlow、PyTorch)。Anaconda 的主要特性包括:
- 虚拟环境管理:可以创建隔离的开发环境,避免不同项目之间的依赖冲突。
- 内置包管理器:通过
conda命令,可以快速安装和更新所需的库。 - 支持多操作系统:适用于 Windows、macOS 和 Linux。
1.2 为什么需要 Anaconda?
在开发多视角三维点云重建、深度学习等复杂项目时,经常需要多个 Python 包和工具。如果我们直接在系统环境中安装,可能会因为版本冲突导致项目运行失败。而 Anaconda 提供了以下优势:
- 可以独立管理每个项目的依赖库和 Python 版本。
- 提供开箱即用的科学计算工具和 Jupyter Notebook 环境。
- 可用于安装其他工具(如 FFmpeg 和 COLMAP),方便开发复杂的三维重建任务。
二、如何下载并安装 Anaconda
下面是一步步安装 Anaconda 的详细过程。
2.1 下载 Anaconda
方式 1:直接下载页面
- 打开浏览器,访问 Anaconda 下载页面。该页面直接提供适合不同操作系统的下载选项。
- 根据自己的操作系统选择合适的安装包:
- Windows 用户:推荐下载 64-bit Graphical Installer。
- macOS 用户:根据你的 Mac 电脑 CPU 类型,选择 Apple Silicon(M1/M2 芯片) 或 Intel 的安装版本。
- Linux 用户:选择 x86(64-bit) 或 ARM64 版本。

方式 2:备用方法
如果上述链接无法跳转或下载不成功,可以尝试以下步骤::
-
打开 Anaconda 官网。
-
点击右上角的 “Free Download” 按钮,进入下载页面。

3. 下载页面要求填写一个有效的电子邮箱地址以获取下载链接。
4. 填写后,勾选 同意接收 Anaconda 产品和服务相关信息的邮件(可选),然后点击 Submit。
5. 检查你的邮箱,查找来自 Anaconda 的邮件(请注意检查垃圾邮件文件夹)。示例邮件截图:

6. 点击下载页面中的 “Download Now” 按钮后,该页面直接提供适合不同操作系统的下载选项
2.2 安装 Anaconda
-
运行安装程序
下载完成后,找到安装包(Windows 为.exe文件,Mac/Linux 为对应安装文件),双击运行安装程序。 -
安装设置
- 选择安装类型:默认选择“为我(单个用户)安装”。
- 勾选 “将 Anaconda 添加到系统 PATH 变量中”:建议勾选,方便通过命令行使用
conda命令。如果忘记勾选,可以手动添加。 - 选择安装目录:默认路径为
C:\Users\YourUsername\Anaconda3(Windows),也可以根据需求自定义。
-
等待安装完成
点击 Install 开始安装,等待安装完成后,点击 Finish 完成安装。
2.3 验证 Anaconda 安装
安装完成后,打开命令行工具(Windows 用户可以打开 CMD,Mac/Linux 用户打开终端),输入以下命令:
conda --version
如果显示类似以下内容,则说明安装成功:
conda 23.3.1

三、如何创建虚拟环境
完成 Anaconda 安装后,接下来我们创建一个独立的虚拟环境来安装开发所需的工具(例如 Python、COLMAP、FFmpeg 等)。
3.1 创建虚拟环境
使用以下命令创建一个新的虚拟环境(以 Python 3.9 为例):
conda create -n colmap_env python=3.9
-n参数:指定虚拟环境的名称,这里我们命名为colmap_env。python=3.9:指定虚拟环境的 Python 版本。
3.2 激活虚拟环境
激活虚拟环境后,所有的安装和运行都局限于该环境内,不会影响系统其他项目:
conda activate colmap_env
此时,你将看到命令提示符前面多了环境名称:
(colmap_env) $
3.3 安装其他工具
在虚拟环境中,你可以通过 conda install 或 pip install 命令安装所需的工具。例如:
- 安装 NumPy、SciPy:
conda install numpy scipy - 安装 FFmpeg:
conda install -c conda-forge ffmpeg
3.4 退出虚拟环境
如果不需要使用虚拟环境,可以随时退出:
conda deactivate
四、总结
通过本文的指南,你已经学会了如何下载并安装 Anaconda,并创建独立的虚拟环境。以下是主要步骤的回顾:
- 下载并安装 Anaconda。
- 验证安装是否成功。
- 使用
conda命令创建和管理虚拟环境。
使用 Anaconda,可以方便地管理 Python 环境和项目依赖,为后续的开发任务打下坚实的基础。
相关文章:
Anaconda 安装与虚拟环境创建完整指南
Anaconda 安装与虚拟环境创建完整指南 Anaconda 是目前最流行的 Python 和数据科学工具集之一,它不仅可以轻松管理 Python 包,还能提供强大的虚拟环境功能,避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者…...
基于自然语言处理(NLP)的智能客服系统
基于自然语言处理(NLP)的智能客服系统是现代客户服务领域的一项重要技术,它通过模拟人类对话的方式,为用户提供及时、准确和个性化的服务。以下是关于基于NLP的智能客服系统的一些关键要素和功能: 1. 自然语言理解&am…...
C语言期末复习题(PTA)
去字符串中的重复字符与空格 dele函数的功能:对给定的字符串,去掉重复的字符与字符串中的空格后,按照字符ASCII码顺序从小到大排序后输出。 输入样例: abcd efg abc fH 3 2 1 输出样例: 123Habcdefg 测试程序样例&am…...
Ubuntu 中安装 RabbitMQ 教程
简介 RabbitMq作为一款消息队列产品,它由Erlang语言开发,实现AMQP(高级消息队列协议)的开源消息中间件。 应用场景 异步处理 场景说明:用户注册后,注册信息写入数据库,再发邮件、短信通知。 …...
如何测试模型推理精度:Python初学者指南
如何测试模型推理精度:Python初学者指南 什么是模型推理精度?使用工具包:lm-evaluation-harness安装工具包 测试模型推理精度的步骤1. 加载模型和分词器2. 使用 lm-evaluation-harness 进行测试3. 运行脚本4. 查看结果 总结 在机器学习和深度…...
人工智能与区块链的碰撞:双剑合璧的创新前景
引言 人工智能(AI)与区块链技术,这两项曾经各自独立发展的前沿科技,如今正逐步走向融合。人工智能通过强大的数据处理能力和智能决策能力,在各个领域掀起了革命性的变革;而区块链凭借其去中心化、不可篡改的…...
安装Visual studio2022后,没法新建.net 4.5.2的项目
在Visual Studio 2022中无法新建.NET Framework 4.5.2的项目,通常是因为Visual Studio 2022默认不再支持较旧的.NET Framework版本,如4.5或4.5.2。不过,你可以通过一些手动步骤来使Visual Studio 2022支持.NET Framework 4.5.2项目。以下是一…...
小程序配置文件 —— 12 全局配置 - pages配置
全局配置 - pages配置 在根目录下的 app.json 文件中有一个 pages 字段,这里我们介绍一下 pages 字段的具体用法; pages 字段:用来指定小程序由哪些页面组成,用来让小程序知道由哪些页面组成以及页面定义在哪个目录,…...
Flink Data Source详解
注意在高版本中SourceFunction以及其子类RichSourceFunction、ParallelSourceFunction等已经被标记为废弃,所以我们要看数据源的实现只需要关注Source接口(org.apache.flink.api.connector.source.Source)。了解Source背后的架构和运行原理有助于我们更好的使用Source,或者…...
Spring Boot 介绍与应用
什么是 Spring Boot? Spring Boot 是一个用于简化 Spring 应用程序开发和部署的框架,它建立在 Spring 框架的基础之上,但去除了繁琐的配置。Spring Boot 采用“约定优于配置”的原则,默认启用了大量自动配置,使得开发…...
并行编程实战——TBB框架的应用之五Supra中IGTL的应用
一、OpenIGTLink OpenIGTLink,可以简称为IGTL。它是一个专供医疗应用的网络通信库。IGTL可以应用各种传感器、手术机器人和成像仪等的数据传输。OpenIGTLink是有一系列的协议在底层支持的,它是跨平台的,应用也非常简单。 OpenIGTLink迭代还是…...
【Golang 面试题】每日 3 题(八)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...
11. 日常算法
1. 141. 环形链表 题目来源 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接…...
FPGA三模冗余TMR工具(二)
学术和商业领域有许多自动化的三模冗余TMR工具,本文介绍当前主流的基于寄存器传输级的三模冗余工具(Register-Transfer Level,RTL),基于重要软核资源的三模冗余工具,以及新兴的基于高层次综合的三模冗余工具…...
springboot499基于javaweb的城乡居民基本医疗信息管理系统(论文+源码)_kaic
摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…...
MF248:复制工作表形状到Word并调整多形状位置
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…...
微信流量主挑战:用户破16!新增文档转换(新纪元3)
朋友们,报告好消息!我的小程序用户数量已经涨到16个了!没错,真没拉朋友圈亲戚好友来撑场子,全靠实力(和一点点运气)吸引了16位陌生小伙伴光临!这波进步,连我自己都感动了…...
SelectionArea 实现富文本
使用 SelectionArea Text.rich TextSpan WidgetSpan实现富文本。 前置知识点学习 SelectionArea SelectionArea 是 Flutter 中的一个组件,用于管理文本的选择功能。它允许用户在应用中选择和复制文本,这是在支持文本选择的应用程序中常见的功能。Se…...
upload-labs关卡记录17
该关卡,依旧是上传图片马到服务器,然后借助文件包含漏洞来运行一句话木马,这里还是老样子,先上传我们之前制作的图片马: 上传成功后,复制链接然后通过文件包含漏洞来尝试,发现不可行:…...
【Next.js】002-路由篇|App Router
【Next.js】002-路由篇|App Router 文章目录 【Next.js】002-路由篇|App Router一、前言二、文件系统(file-system)1、说明2、演练创建代码运行访问让 Cursor 分析错误别偷懒,还是探究一下 Pages Router 方式吧创建代码运行并访问项目/about …...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
