Anaconda安装及使用

news2025/1/27 13:51:24

文章目录

    • Anaconda安装
    • 关于PyTorch的安装和使用
      • Frequently Asked Questions
    • 在PyCharm中使用PyTorch
      • apex库的安装

声明:以下内容均是根据个人经验总结,可能存在不合理之处,烦请指正。

Anaconda安装

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

打开Anaconda Prompt 输入:conda create -n pytorch python = 3.8
在这里插入图片描述

这行命令是干什么的?

  • 创建一个名为pytorch的虚拟环境
  • 在该环境中安装Python 3.8
  • 通过激活该环境,你可以独立地管理项目依赖,避免与其他项目冲突。

接着输入:conda config --set custom_channels.auto https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

使用清华的镜像源,在以后安装各种包时可能会快一些。
在这里插入图片描述

在这里插入图片描述

理解Anaconda文件夹下各个目录含义

在这里插入图片描述

如下表:

名称作用
condabin存放 Anaconda 可执行文件,包含激活虚拟环境脚本等,用于包管理、环境创建和 Python 程序运行等操作
conda-meta存储 conda 安装软件包的元数据信息(版本、依赖关系、安装时间等),文件后缀为 .json,每个文件对应一个已安装的 conda 包
DLLs存放与 Python 及其相关库或工具相关的动态链接库文件,由 Anaconda 自带库或第三方库提供
envs存放所有虚拟环境,可避免不同项目间的版本冲突
etc存放 Anaconda 的配置文件(如 conda 配置文件和环境变量设置),用于自定义 Anaconda 行为和环境设置
include存放 Anaconda 安装中的 C/C++ 头文件,对 Python 扩展开发等至关重要
Lib包含 Anaconda 的库文件(Python 标准库和自带第三方库),site-packages 存放 pip 或 conda 安装的 Python 包
Library包含 Anaconda 分发中的几乎所有库文件、模块、脚本和工具等,为 Python 编程和数据科学工作提供全面支持
pkgs存放 conda 安装软件包的缓存文件,方便快速安装相同软件包
Scripts存放 Windows 系统下脚本文件(命令行工具和 Python 脚本),如用于激活虚拟环境的脚本
share包含共享文件(如 Jupyter Notebook 的配置文件和启动脚本),对配置和使用交互式计算环境很重要
.condarc是 conda 的配置文件,用于存储和管理 conda 的配置信息,如镜像源、环境变量等
.nonadmin常与非管理员模式或用户相关
conda.exeAnaconda/Miniconda 的可执行文件,包含 conda 包管理器和环境管理器,用于安装、升级、删除软件包和创建、管理环境

参考文章:

[1]:https://blog.csdn.net/weixin_47381639/article/details/119798672?fromshare=blogdetail&sharetype=blogdetail&sharerId=119798672&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link

[2]:https://blog.csdn.net/qq_62844901/article/details/143945328?fromshare=blogdetail&sharetype=blogdetail&sharerId=143945328&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link


关于PyTorch的安装和使用

也许,你之后会遇到不同的项目,需要使用到不同版本的环境。比如这个项目要用到pytorch 0.4,另一个项目要用到pytorch 1.0,如果你卸载了0.4版本,安装了1.0版本。那么下次,你再碰到0.4版本,你就需要卸载1.0版本,安装0.4版本。很折腾。Anaconda集成的conda包就能够解决这个问题。它可以创造出两个屋子,相互隔离。一个屋子放0.4版本,一个屋子放1.0版本。你需要哪个版本,就进哪个屋子工作。

我们首先使用conda指令创建一个屋子,叫做pytorch。

指令如下:

conda create -n pytorch python=3.8

conda 是指调用conda包,create是创建的意思,-n是指后面的名字,也就是name的简写。pytorch是屋子的名字,python=3.8是我们需要使用的包。

在这里插入图片描述
base是基本环境
在这里插入图片描述
左边括号里是环境的名称,pip list 可以帮助我们查看有哪些工具包。

conda infon --envs :这是查看所有已经创建的环境的命令
在这里插入图片描述

创建成功之后,就要激活这个屋子——pytorch了,使用conda activate pytorch

激活之后,我们发现并没有pytorch,我们需要去官网下载适合自己电脑的推荐的版本:
在这里插入图片描述

在这里插入图片描述

然后经过漫长的等待(感觉可能需要几分钟),你就选yes,然后就安装完成了。接着验证一下是否安装成功:

在这里插入图片描述
但是如果出现:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url

这样的报错,那可能是因为:

1)镜像源不能使用,还是建议使用清华的镜像源(上面已经给出了),我试了了中科大和阿里云的好像不能使用。

2)看看自己是不是开了代理,比如clash for windows之类的,需要把代理关闭。我就是在关掉代理之后就能够正常下载了,只不过速度有点慢。

也有可能出现:

conda Collecting package metadata (repodata.json)卡住或 failed问题,卡住就是一直在那不停地转圈圈或者不动。

这种情况也可能是因为上面提到的两个原因。

安装成功后,首先:启动python解释器,(pytorch)表示当前激活的虚拟环境名为pytorch

import torch

这行代码,导入了PyTorch库,torch是PyTorch的主模块,包含了PyTorch的所有功能。

torch.cuda.is_available()

这是PyTorch提供的一个函数,用于检查当前系统是否支持CUDA。

true表示统支持 CUDA,并且 PyTorch 可以利用 GPU 进行加速计算。

如果你没有安装cuda的话那就需要去英伟达官网安装和自己电脑gpu对应的版本,CUDA Toolkit - Free Tools and Training | NVIDIA Developer

退出上面的Python环境:

quit()

Frequently Asked Questions

  1. 如果torch.cuda.is_available显示false,应该怎么办?

    参考这个视频:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】

  2. 为什么每次在命令行中开始新的会话时,你都需要激活 conda 环境,比如 pytorch

    这是因为 conda 环境不是持久激活状态,一旦关闭命令行窗口或终端会话,激活状态就会丢失。所以,为了确保你运行的命令在正确的环境中执行,每次都需要重新激活环境。

    在PyCharm中使用PyTorch

我们新建项目文件之后,在选择添加解释器时,可能会遇到选择Conda环境时既找不到python.exe又找不到conda.exe的情况(如果你能够找到那最好,直接添加自己创建环境下的),那就选择下图的System Interpreter,就可以找到python.exe了。

在这里插入图片描述

找不到conda.exe就不要选,第二个Conda Environment,会出现报错:

在这里插入图片描述

可以参考B站的这个视频——2024版本pycharm如何导入pytorch深度学习环境

还有这篇文章:https://blog.csdn.net/ytusdc/article/details/137782055?fromshare=blogdetail&sharetype=blogdetail&sharerId=137782055&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link


apex库的安装

在这次实验中,我需要使用apex库,它是NVIDIA开发的基于PyTorch的混合精度训练加速神器,能够增加运算速度,并且减少显存的占用。

Github地址:https://github.com/NVIDIA/apex
官方教程:https://nvidia.github.io/apex/

我在PyCharm上使用pip指令安装失败,然后参考文章看到需要基于Github源码安装。但是我在Github上居然下载失败,最后是用国内的gitcode镜像才下载成功。

GitCode - 全球开发者的开源社区,开源代码托管平台

下载成功之后,先解压这个ZIP文件,我是把解压后的文件放在了已经创建好的,D:\Anaconda3\envs\pytorch 之下,但我猜测放在别的地方应该也可以。

然后在该文件下打开终端,运行以下命令:

cd apex
python3 -m pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext"
python setup.py install

然后我们可以验证一下是否安装成功,在命令行中输入:

pip show apex ,如果apex安装成功,你应该会看到类似下图的形式:
在这里插入图片描述

参考文章:

[1]:https://blog.csdn.net/m0_67165162/article/details/144771801?fromshare=blogdetail&sharetype=blogdetail&sharerId=144771801&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link

[2]:https://blog.csdn.net/u012856866/article/details/144526882?fromshare=blogdetail&sharetype=blogdetail&sharerId=144526882&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link

[3]:https://blog.csdn.net/CHUAN_L/article/details/129959826?fromshare=blogdetail&sharetype=blogdetail&sharerId=129959826&sharerefer=PC&sharesource=m0_64450656&sharefrom=from_link

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Prometheus+Grafana监控minio对象存储

1. 安装 MinIO 步骤 1:下载 MinIO 二进制文件 wget https://dl.min.io/server/minio/release/linux-amd64/miniochmod x miniosudo mv minio /usr/local/bin/ 步骤 2:创建数据目录 sudo mkdir -p /data/miniosudo chown -R $USER:$USER /data/minio …

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具,类似于AIVsCode的结合体,只要绑定chatgpt、claude等大模型API,就可以实现对话式自助编程,简单闲聊几句便可开发一个软件应用。 但cursor受限于外网,国内用户玩不了,…

[云讷科技]Kerloud Falcon四旋翼飞车虚拟仿真空间发布

虚拟仿真环境作为一个独立的专有软件包提供给我们的客户,用于帮助用户在实际测试之前验证自身的代码,并通过在仿真引擎中添加新的场景来探索新的飞行驾驶功能。 环境要求 由于环境依赖关系,虚拟仿真只能运行在装有Ubuntu 18.04的Intel-64位…

前缀和——连续数组

一.题目描述 525. 连续数组 - 力扣(LeetCode) 二.题目解析 让我们找到一个最长的数组,里面的0,1个数是相等的。 这道题依旧不能用滑动窗口解决,因为找到满足的之后,需要继续遍历。 我们可以对数组进行转…

QT 通过ODBC连接数据库的好方法:

效果图: PWD使用自己的,我的这是自己的,所以你用不了。 以下是格式。 // 1. 设置数据库连接 QSqlDatabase db QSqlDatabase::addDatabase("QODBC");// 建立和QMYSQL数据库的连接 // 设置数据库连接名称(DSN&am…

数字MIC PDM接口

在音频采样中,我们经常会用到PCM,PDM这种方式,它们之间也是有一些区别的。 1:PDM 工作原理: PDM使用远高于PCM采样率的时钟采样调制模拟分量,每次采样结果只有1位输出(0或1&…

SpringBoot--基本使用(配置、整合SpringMVC、Druid、Mybatis、基础特性)

这里写目录标题 一.介绍1.为什么依赖不需要写版本?2.启动器(Starter)是何方神圣?3.SpringBootApplication注解的功效?4.启动源码5.如何学好SpringBoot 二.SpringBoot3配置文件2.1属性配置文件使用2.2 YAML配置文件使用2.3 YAML配置文件使用2.…

vim如何设置显示空白符

:set list 显示空白符 示例: :set nolist 不显示空白符 示例: (vim如何使设置显示空白符永久生效:vim如何使相关设置永久生效-CSDN博客)

常用集合-数据结构-MySql

目录 java核心: 常用集合与数据结构: 单例集合: 双列集合: 线程安全的集合: ConcurrentHashMap集合: HashTable集合: CopyOnWriteArrayList集合: CopyOnWriteArraySet集合: ConcurrentLinkedQueue队列: ConcurrentSkipListMap和ConcurrentSkipListSet&…

Android BitmapShader简洁实现马赛克,Kotlin(二)

Android BitmapShader简洁实现马赛克,Kotlin(二) 这一篇 Android BitmapShader简洁实现马赛克,Kotlin(一)-CSDN博客 遗留一个问题,xml定义的MyView为wrap_content的宽高,如果改成其…

HarmonyOS基于ArkTS卡片服务

卡片服务 前言 Form Kit(卡片开发框架)提供了一种在桌面、锁屏等系统入口嵌入显示应用信息的开发框架和API,可以将应用内用户关注的重要信息或常用操作抽取到服务卡片(以下简称“卡片”)上,通过将卡片添加…

缓存之美:万文详解 Caffeine 实现原理(上)

由于社区最大字数限制,本文章将分为两篇,第二篇文章为缓存之美:万文详解 Caffeine 实现原理(下) 大家好,我是 方圆。文章将采用“总-分-总”的结构对配置固定大小元素驱逐策略的 Caffeine 缓存进行介绍&…

C# 多线程同步(Mutex | Semaphore)

Mutex: 用于保护临界区,确保同一时间只有一个线程能够访问共享资源; Semaphore: 允许同时有多个线程访问共享资源,但会限制并发访问的数量。 Mutex运行输出 Semaphore运行输出 namespace SyncThreadDemo {internal class Program{static stri…

C++从入门到实战(二)C++命名空间

C从入门到实战(二)C命名空间 前言一、C的第一个程序二、命名空间(一)为什么需要命名空间(二)定义命名空间(三)使用命名空间1.通过命名空间限定符:2.使用 using 声明&…

广西螺蛳粉:舌尖上的美食传奇

广西螺蛳粉:舌尖上的美食传奇 在广西壮族自治区,有一种小吃以其独特的酸辣鲜香和丰富的历史文化底蕴,成为了无数食客心中的美食传奇——这就是广西螺蛳粉。 一、历史渊源 螺蛳粉最早出现于20世纪70年代末的柳州市,是柳州人民对美食的创新与智慧的结晶。早在40多年前,大量的螺…

基于本地事务表+MQ实现分布式事务

基于本地事务表MQ实现分布式事务 引言1、原理2、本地消息表优缺点3、代码实现3.1、代码执行流程3.2、项目结构3.3、项目源码 引言 本地消息表的方案最初由ebay的工程师提出,核心思想是将分布式事务拆分成本地事务进行处理。本地消息表实现最终一致性。本文主要学习…

Java 大视界 -- Java 大数据中的知识图谱构建与应用(62)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

LVGL+FreeRTOS实战项目:智能健康助手(Max30102篇)

MAX30102 心率血氧模块简介 功能:用于检测心率和血氧饱和度,集成了红外和红光 LED 以及光电二极管。 接口:支持 I2C 通信,默认 I2C 地址为 0x57。 应用:广泛用于健康监测设备中,如智能手环、手表等。 硬…

计算机网络 (59)无线个人区域网WPAN

前言 无线个人区域网(WPAN,Wireless Personal Area Network)是一种以个人为中心,采用无线连接方式的个人局域网。 一、定义与特点 定义:WPAN是以个人为中心,实现活动半径小、业务类型丰富、面向特定群体的无…

【优选算法】9----长度最小的子数组

----------------------------------------begin-------------------------------------- 铁子们,前面的双指针算法篇就算告一段落啦~ 接下来是我们的滑动窗口篇,不过有一说一,算法题就跟数学题一样,只要掌握方法,多做…