安装conda并搭建python环境(入门教程)

文章目录

  • 1. 什么是 conda?
    • 1.1 Conda 与 Anaconda 的区别
    • 1.2 Conda 与 pip 的区别
  • 2. 下载安装
  • 3. 配置并使用 conda
    • 3.1 配置下载源
    • 3.2 环境管理
      • 3.2.1 创建(删除)环境
      • 3.2.2 激活(切换)环境
      • 3.2.2 下载(卸载)库
      • 3.2.3 导出(导入)环境
    • 3.3 试运行 py 文件


1. 什么是 conda?

在初学Python之时,就常听别人说用 conda 有多方便,一直不以为然,直到接触需要调用有大量依赖库及版本间有显著差异的深度强化学习领域时,才知道用 conda 管理环境会有多方便,那么什么是 conda?

在这里插入图片描述
Conda 发行并开源于 2012 年,是一个可以在Windows、maxOS和Linux上运行的包和环境管理系统,它能够适用于任何语言的打包和分发,包括Python、R、Ruby、Lua、Java、C/C++等。Conda 允许用户方便地安装、运行和更新不同版本的二进制软件包与该计算平台所需要的所有库(以及库的依赖项)。在实际当中,利用 conda 最主要的目的是为了使得不同版本Python环境、不同版本模块能够共存和灵活切换。

在默认配置下,conda可以安装和管理来自repo.anaconda.com仓库的7,500多个软件包,该仓库由Anaconda生成,审查和维护。

除了 conda,我们常常看到的 Anaconda 和 Miniconda 又是什么呢?接下来将介绍 conda 与它们之间的区别。

1.1 Conda 与 Anaconda 的区别

诸如 Anaconda、Miniconda、Bioconda(用于计算生物学)等都是基于 conda 的工具软件,这些软件均包含 conda 包和环境管理器,但两者的概念仍要进行一定的区分。

Anaconda 是一个大而全的软件发行版,是一个预先建立和配置好的模块集,能够安装在操作系统上使用。它包含了Python本身和数百个第三方开源项目的二进制文件,如 numpy、scipy、ipython、matplotlib等,这些库基本是为了方便处理数据科学相关的问题。

Miniconda 也是一个软件发行版,但它仅包含python、conda 和 conda 的依赖项,本质上就是一个空的用来安装 conda 环境的安装器,它没有 Anaconda 中那么多的包,可以理解为 Anaconda 的精简版,能够方便用户按照自己的需求,从零开始构建任意的环境。

尽管可以独立地下载安装 conda 而不用 Anaconda 和 Miniconda,但后两者为提供了 conda 安装环境,使用起来会更方便。

1.2 Conda 与 pip 的区别

Conda 作为软件包管理器,可以帮助用户查找和安装软件包,这与另一个常见的基于Python的跨平台包管理器 pip 类似。那既然 Python 自带了 pip 包管理工具,为什么还会需要使用 conda 呢?

先来介绍 pip,它是 Python 包的通用管理器,全称是 Pip Install Packages,它是一个Python官方认证的包管理工具,只能管理python包而无法安装非Python依赖项,例如HDF5、MKL、LLVM等,通常用于在相互独立的环境中安装发布在 Python Package Index(PyPI)上面的包。Pip和 PyPI 均由Python Packaging Authority(PyPA)管理和支持。

conda 既具有 pip 的包管理能力,同时也具有 vitualenv 的环境管理功能,因此在相互独立的环境中,可以简单认为 conda 就是 pip 和 vitualenv 的组合,在包管理这方面,conda 不仅能管理 python 包,还可以管理任何类型的、用任何语言写的包和依赖,包来源是 Anaconda repo(默认)和 Cloud。

简单而言,pip 与 conda 最关键的区别在于,在使用 pip 之前,必须通过系统软件包管理器下载和安装python解释器,而 conda 可以直接安装 python 软件包以及解释器,但 conda 只能在 conda 环境下安装各类的包,因此需要先创建 conda 环境。

2. 下载安装

这里我们演示 Miniconda 的下载安装,软件包的下载来源有两种:

  1. 官方网站:https://docs.anaconda.com/free/miniconda/miniconda-install/
  2. 清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/,个人试了下镜像源关闭了,好像是因为 Anaconda 和 Miniconda 未取得授权1

(1)检查系统条件是否满足

在下载安装 Miniconda 之前,先检查下电脑的系统及硬件等条件是否符合安装要求。如果因为系统版本较旧的原因,可以下载对应的旧版本 Miniconda,以下是官网中对系统要求的描述。

在这里插入图片描述
(2)下载相应安装包

如下图,以 Windows installers 为例,不同版本的 Miniconda 安装包可以支持的最高版本的 python 情况不同,可以按需下载,这里我下载了支持 python3.12 的软件版本,安装文件为:Miniconda3-latest-Windows-x86_64.exe
在这里插入图片描述
(3)执行安装

运行安装包执行文件,依次点击下一步即可,可以自定义安装的路径,中间的安装设置按照默认的来即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)检查是否安装成功

完场上述步骤之后,需要再检查下 conda 是否能够正常使用。在电脑左下角搜索找到 Anaconda Prompt,点击打开后,在控制台中输入 conda --version,回车如果返回了 conda 版本信息则说明安装成功。

在这里插入图片描述
在这里插入图片描述

在窗口中输入 conda list,会返回当前环境下已经安装好的包,如果出现该列表则说明 conda 已经正确安装。其中,包含了对应的解释器 python3.12.2。

在这里插入图片描述

3. 配置并使用 conda

至此完成了 conda 包和环境管理工具的安装,此时我们可以进行一些简单的配置并尝试创建 conda 环境,安装需要的库和运行简单的 python 程序。

3.1 配置下载源

Conda 包管理器下载各类库的来源是国外的服务器,常常会面临下载速度慢的问题。可以为 conda 添加软件包通道(channel),以清华源为例,在打开的 Anaconda prompt 控制台窗口中,输入如下命令可以将清华源的两个地址添加到通道。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

为了在查看 conda 软件包通道的下载链接时能显示我们手动配置的通道地址,可以通过如下命令进行设置:

conda config --set show_channel_urls yes

如果不配置下载源,conda 会使用默认的软件包通道,即从官方 Anaconda 仓库获取软件包。具体的软件包通道情况可以通过 conda config --show 命令查看,返回的信息不仅能看到下载源的地址信息,还能看到创建的 conda 环境所在的文件夹。如果想要重置下载源的信息,可以用 conda config --remove-key channels 命令实现。

当然,除了通过命令行的形式添加下载源,也可以直接修改配置文件 .condarc,在 Windows 系统下,它通常位于 “C:\Users\用户名\” 路径下,可以手动添加如下内容进行配置:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults

只有在执行前面的配置下载源的命令时才会出现 .condarc 文件,默认情况下时没有的,如果没有该文件,可以自己手动创建一个文件并写入以上的内容,保存后,conda 将会使用其中配置的下载源来获取软件包。

3.2 环境管理

现在来到 conda 的另一大功能,就是环境管理,它可以创建、管理和切换不同的环境,这些环境之间是相互独立的,每个环境当中的 Python 版本和软件包版本可以不相同,使得我们可以把依赖版本不同的项目放在同一台设备上的不同 conda 环境中运行。

conda 命令不仅可以在 anaconda prompt 控制台当中运行,默认会进入到 conda 环境,也可以在 cmd 或者各类 IDE 当中的控制台输入 conda 命令,不过此时就得先激活并进入到 conda 环境。

3.2.1 创建(删除)环境

要创建一个新的 conda 环境,可以使用 conda create 命令,指定该环境下所需的 Python 版本和要安装的软件包。例如:

conda create --name myenv python=3.8 numpy matplotlib

这将创建一个名为 myenv 的环境,并在其中安装 Python 3.8NumPyMatplotlib。在创建环境时,会有软件包列表的提示。输入 y 确认后即等待环境创建即可。

在这里插入图片描述

如果不想要一个环境了,例如我们要把 myenv 这个名字的环境删除,可以通过如下命令进行删除:

conda remove --name myenv --all

该命令会删除 myenv 环境及环境下所有的安装包,该操作是不可逆的,在执行之前需确认好。

3.2.2 激活(切换)环境

经过环境的创建之后,我们用 conda env list 来查看已有的 conda 环境,发现已经创建好了名为 myenv 的环境,但是此时我们根据如下位置判断我们所在的 conda 环境仍然是名为 base 的环境,因此我们要激活并切换到 myenv 环境中。

在这里插入图片描述
通过如下命令可实现激活并切换环境的功能,不同系统上的命令有所区别。

# windows
conda activate myenv
# Linux/Unix
source activate myenv

在这里插入图片描述

如果不切换环境,而只是退出当前环境,可以用 conda deactivate 退出当前的 conda 环境。

3.2.2 下载(卸载)库

当我们要在不同环境下安装库时,需要先切换到指定环境当中,例如我们要下载或者卸载 scipy,可以执行如下命令进行:

# 下载安装
conda install scipy
# 卸载
conda remove scipy

3.2.3 导出(导入)环境

当我们想要保存某个环境的配置信息,例如下载源信息、环境的Python版本信息、安装的包的版本信息等,可以先切换到指定环境下,通过以下命令将这些配置信息导出:

conda env export > environment.yml

该命令会将当前的环境配置信息导出到为 environment.yml 配置信息文件,文件导出地址默认为当前工作目录(也可以指定输出的绝对地址)。这时候,我们将配置文件传到另一台电脑,想基于该配置文件创建 conda 环境,可以通过以下命令:

conda env create -f environment.yml

3.3 试运行 py 文件

这里我们写一个名为 test.py 的简单的 python 脚本,但用到需要额外安装的 numpy 库,代码如下:

import numpy as np

array = np.random.rand(10)
mean = np.mean(array)
print(mean)

将该脚本文件放到控制台的工作目录下(或者把控制台工作目录切换到脚本文件的位置),输入如下命令:

python test.py

在这里插入图片描述

至此,关于 conda 的常见入门知识就介绍完毕,大家可以先养成使用 conda 的习惯,再去慢慢体会它的优点,非常实用的技能。


  1. conda无法访问清华源: https://blog.csdn.net/baidu_36602427/article/details/90317228 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/619391.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习——2.损失函数loss

基本概念 损失函数也叫代价函数。损失函数就是计算预测结果和实际结果差距的函数,机器学习的过程就是试图将损失函数的值降到最小。 图左:|t_p - t_c| 图右:(t_p - t_c)**2 代码实…

[OpenGL高级光照] 阴影改善

目录 一 阴影失真 二 阴影改善 2.1 减小片段深度值 2.2 降低纹理 2.3 注意事项 三 消除Repeat的问题 3.1 让裁剪矩阵的立方体变大 ​3.2 利用采样范围重置 四 精度问题 本章节源码 点击此处 一 阴影失真 在上一篇中,实现了阴影效果之后,但是我们会发现阴影效果中地面…

47-Qt控件详解:Buttons Containers1

一 QPushButton (命令按钮) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPushButton>//引入QPushButton类对应的头文件class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWind…

【IMX6ULL项目】IMX6ULL下Linux实现产测工具框架

电子产品量产测试与烧写工具。这是一套软件&#xff0c;用在我们的实际生产中&#xff0c; 有如下特点&#xff1a; 1.简单易用&#xff1a; 把这套软件烧写在 SD 卡上&#xff0c;插到 IMX6ULL 板子里并启动&#xff0c;它就会自动测试各个模块、烧写 EMMC 系统。 工人只要按…

40 -1 入侵检测系统(IDS)- IDS的使用及规则

xampp 官网:XAMPP Installers and Downloads for Apache Friends 一、安装 XAMPP XAMPP 简介 XAMPP是完全免费且易于安装的Apache发行版,其中包含MariaDB、PHP和Perl。XAMPP开放源码包的设置让安装和使用出奇容易。 开始安装 如果命令行下载太慢,就在浏览器中下载完再拉…

【2024新版】龙年新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码

>>>功能说明&#xff1a; 1、系统配置&#xff1a;系统基本配置、测算价格配置、在线预约配置、系统信息配置、代理分成配置、推广积分配置、VIP价格配置、账号管理 2、推广管理&#xff1a;我的信息、推广链接、订单管理、体现管理 3、付费应用&#xff0c;订单管…

高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)

高校课程评价系统 目录 基于SSM&#xff0b;vue的高校课程评价系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2学生功能 3教师功能 4专家功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

Windows Docker 使用 httpd 部署静态 Web 站点

一、简介 httpd 是 Apache超文本传输协议&#xff08;HTTP&#xff09;服务器的主程序&#xff0c;是一个独立运行的后台进程&#xff0c;专门负责处理 HTTP 请求。它通过建立子进程或线程的池来高效管理请求&#xff0c;确保服务器能够迅速响应客户端的需求。httpd 因其高效率…

【Delphi】OpenCV 实战(一):OpenCV简介及开发环境配置

目录 一、OpenCV 功能模块 二、Delphi 中使用OpenCV 三、OpenCV 4.7 Delphi开发环境配置 1. 环境配置 2. OpenCV 中Demo程序的编译配置 3. 运行 Demo (OpenCV for Delphi) OpenCV 是世界上最大的计算机视觉库。 它是开源的,包含 2500 多种算法,由非营利…

信息系统项目管理师0105:项目评估与决策(7项目立项管理—7.3项目评估与决策)

点击查看专栏目录 文章目录 7.3项目评估与决策1.评估依据2.评估的程序3.项目评估的内容4.项目评估报告内容大纲记忆要点总结7.3项目评估与决策 项目评估指在项目可行性研究的基础上,由第三方(国家、银行或有关机构)根据国家颁布的政策、法规、方法、参数和条例等,从国民经济…

算法题② —— 链表专栏

1. 链表数据结构 struct ListNode {int val;ListNode *next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode *next) : val(x), next(next) {}};2. 链表的删除 2.1 移除链表元素 力扣&#xff1a;https://leetco…

大规模 RGB LED灯控系统 Lumos:创新与智能化的融合

灯控系统&#xff1a;创新与智能化的融合 在现代照明技术不断进步的背景下&#xff0c;灯控系统的应用已经从简单的开关控制&#xff0c;发展到能够进行复杂程控操作的智能化管理。我们推出的新一代灯控解决方案&#xff0c;凭借其高度的可配置性和跨平台兼容性&#xff0c;已…

Python | Leetcode Python题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution:def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:sml_dummy, big_dummy ListNode(0), ListNode(0)sml, big sml_dummy, big_dummywhile head:if head.val < x:sml.next headsml sm…

Android 10.0 Launcher3定制folder文件夹2x2布局之二foldericon的2x2的显示布局

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制fo…

项目管理-计算题公式-补充【复习】

1.EMV决策树 定义&#xff1a;用决策树在若干备选行动方案中选择一个最佳方案。在决策树 中&#xff0c;用不同的分支代表不同的决策或事件&#xff0c;即项目的备选路径。每个决策或事件 都有相关的成本和单个项目风险(包括威胁和机会)。决策树分支的终点表示沿特 定路径发展的…

[C/C++] -- 搜索迷宫路径

DFS&#xff08;深度优先搜索&#xff09;和BFS&#xff08;广度优先搜索&#xff09;是两种常用的图遍历算法&#xff0c;它们在搜索图或树中的节点时有着不同的策略和特点。 深度优先搜索 (DFS): 在DFS中&#xff0c;从起始节点开始&#xff0c;沿着一条路径尽可能深地搜索&a…

基于数据挖掘与机器学习揭秘脱发主因

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 基于数据挖掘与机器学习揭秘脱发主因 目录 一、绪论背景描述数据说明内容大概 二、导入包以及数据读取三、数据预览四、探究导致脱发的因素4.1…

萤火虫优化算法(Firefly Algorithm)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法背景 萤火虫优化算法&#xff0c;是由剑桥大学的Xin-She Yang在2009年提出的一种基于群体智能的优化算法。它的灵感来源于萤火虫在夜晚闪烁…

[AIGC] 跳跃表是如何实现的?原理?

文章目录 什么是跳跃表查找流程&#xff1a;为什么使用跳跃表?跳跃表是怎么实现的&#xff1f; PS:跳跃表是比较常问的一种结构。 什么是跳跃表 Skip Lists: A Probabilistic Alternative to Balanced Trees 跳跃表是一种可以用来代替平衡树的数据结构。跳跃表使用概率平衡…

微服务核心01-Maven【项目管理工具】高级

一、分模块开发与设计&#xff08;重点⭐&#xff09; ssm_pojo 拆分 新建模块拷贝原始项目中对应的相关内容到 ssm_pojo 模块中 实体类 &#xff08;User&#xff09;配置 文件&#xff08;无&#xff09; ssm_dao 拆分 ssm_service 拆分 ssm_control 拆分 二、聚合&#xff…