conda 与 pip 工具笔记

前言

conda与pip是Python开发中常用的两种工具,conda本质是环境、包管理工具,pip是管理工具,两者的功能有一定的重叠。本文主要记录开发工作中与两者相关的使用说明与注意事项。

  • 推荐用conda创建隔离的虚拟环境,用pip进行包安装。
  • conda安装的包存储在pkgs目录——通过conda info命令查看“package cahce”。pip安装的包存储在miniconda3系统或者虚拟环境的site-packages目录内,可通过pip show -f <package_name> 查看site-packages的目录地址信息。
  • 类似GPU版本的torch大型库,建议下载好wheel文件,避免在虚拟环境中重复下载;或者使用clone选项,基于已有环境新建。

Miniconda

Miniconda 是一个Mini型的Anaconda,包含conda、python以及二者的一些必须依赖环境。

Miniconda 安装

  1. windows 操作系统环境下安装:官网
  2. Linux 操作系统环境下安装:官网
  3. Linux下清华镜像源下载安装
    # 下载最新版本
    wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh --no-check-certificate# 安装
    /bin/bash  Miniconda3-latest-Linux-x86_64.sh
    

conda 与 pip的区别

根据understanding-conda-and-pip与全面总结 pip install 与 conda install 的使用区别。两者的主要区别包含:

  1. 安装包文件格式方面

    • pip 是python官方推荐的包安装工具,仅能安装python包——wheel版或源代码发行版。wheel属于已编译发新版的一种,下载好后可以直接使用;而源代码发行版必须要经过编译生成可执行程序后才能使用,编译的过程是在用户的机子上进行的。
    • conda 是一个跨平台(windows、Linux)工具,不仅能安装python包,也能安装C语言包;conda安装包是二进制文件,下载后即可使用,不需要经过编译。
  2. 安装源方面

    • pip默认从pypi (python package index)源安装,conda默认从conda reposity或者conda cloud安装。虽然Anaconda上有一些主流Python包,但在数量级上明显少于PyPI,缺少一些小众的包。
  3. 环境隔离方面

    • conda内置支持虚拟环境隔离能力
    • pip不具备环境隔离能力,需借助virtualenv或者venv工具管理虚拟环境。
  4. 包关系依赖方面

    • pip安装包时,尽管也对当前包的依赖做检查,但是并不保证当前环境的所有包的所有依赖关系都同时满足。当某个环境所安装的包越来越多,产生冲突的可能性就越来越大。
    • conda会检查当前环境下所有包之间的依赖关系,保证当前环境里的所有包的所有依赖都会被满足
  5. 包安装路径

    • 虚拟环境下,使用pip install安装的包存储在site-packages目录下——base(系统)环境与用户虚拟环境均存在site-packages目录,可通过pip show -f <package>查看目录信息。
    • conda install安装的库存储在pkgs目录下,可通过conda info查看pkgs目录地址信息。这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。

conda

conda config

首次安装后配置清华镜像源

# 配置
# 首次运行conda config命令,会在运行命令位置生成.condarc配置文件
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls true
conda config --set auto_activate_base true# linux下生效配置
source ~/.condarc

配置文件层级

conda配置信息存储在“.condarc”配置文件。在conda系统中,存在三种配置文件:
1. 系统配置文件,默认在Miniconda安装路径,比如安装在linux系统中用户主目录“~/miniconda/.condarc”
2. 虚拟环境配置文件,默认在虚拟环境目录下,比如,~/miniconda/envs/<envname>/.condarc
3. 用户配置文件,默认在用户目录下,比如,~/.condarc文件。

如果对应位置没有".condarc"文件,则需要先使用conda config命令生成对应位置的配置文件

建议使用conda config命令进行配置信息写入与修改。

选项描述
--system告知conda配置系统层面的配置信息。
--env告知conda配置虚拟环境层面的配置信息。
不指定system、env选项如果调用conda config不指定system或者env选项,则默认配置用户层面的配置信息。

conda 更改虚拟环境名称

Conda:1秒钟修改虚拟环境名称: 首先在IDE中应确保退出目标虚拟环境,然后使用conda info -e查询虚拟环境的绝对路径,最后在绝对路径中直接修改目录名。

conda 常用命令

从已有环境创建新虚拟环境

conda install -n <new_env_name> --clone <existed_nev_name>

--clone <existed_nev_name> 选项可以复制一个已经存在的虚拟环境作为新环境的起点。建议每个项目新建一个独立的虚拟环境

查看虚拟环境名称及绝对路径

conda info -e

查看虚拟环境版本变更历史

conda list --revisions

pip

pip 配置

配置清华源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

常用命令

查看安装包信息

pip show -f <package>

参考资料

Miniconda document
Pip document

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

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

相关文章

每日OJ题_DFS回溯剪枝⑦_力扣77. 组合

目录 力扣77. 组合 解析代码 力扣77. 组合 77. 组合 难度 中等 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,…

要搭建基于Python、Django和Oracle的框架怎么搭

要搭建基于Python、Django和Oracle的框架&#xff0c;你需要遵循以下步骤&#xff1a; 安装Python&#xff1a; 首先&#xff0c;确保你的计算机上已经安装了Python。你可以从Python的官方网站下载并安装适合你操作系统的Python版本。 安装Django&#xff1a; 在命令行中执行p…

OpenGL读取纹理数据

读取纹理数据 glReadPixels float *buff new float[TEXTURE_WIDTH * TEXTURE_HEIGHT* COLOR_CHANNELS]; glReadPixels(0, 0, TEXTURE_WIDTH , TEXTURE_HEIGHT, GL_RGB, GL_FLOAT, buff);glGetTexImage float *buff new float[TEXTURE_WIDTH * TEXTURE_HEIGHT* COLOR_CHANN…

Oracle集群-常用查询及操作(工作日常整理)

1.Oracle集群状态 select * from gv$instance; 示例结果&#xff1a; 2.Oracle集群-增大表空间 常见问题&#xff1a; 导入时或使用时&#xff0c;提示无法extend table ,增加表空间即可 常用操作&#xff1a; 1&#xff09;查询表空间 select * from dba_tablespaces; --…

数据结构——二叉树的顺序存储(堆)(C++实现)

数据结构——二叉树的顺序存储&#xff08;堆&#xff09;&#xff08;C实现&#xff09; 二叉树可以顺序存储的前提堆的定义堆的分类大根堆小根堆 整体结构把握两种调整算法向上调整算法递归版本 非递归版本向下调整算法非递归版本 向上调整算法和向下调整算法的比较 我们接着…

owasp top 10 越权漏洞·

指的是用户权限不明晰。 垂直越权&#xff1a;低权限用户&#xff0c;在无任何身份校验的情况下&#xff0c;能够使用高权 限&#xff08;不属于自己&#xff09;模块&#xff08;功能&#xff09;&#xff0c;或访问高权限拥有的数据&#xff1b; 水平越权&#xff1a;指相同…

用C++实现单例模式

单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;它保证一个类在整个应用程序中仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式常用于那些需要频繁创建且消耗资源较多的对象&#xff0c;或者需要控制对共享资源…

华为MRS服务使用记录

背景&#xff1a;公司的业务需求是使用华为的这一套成品来进行开发&#xff0c;使用中发现&#xff0c;这个产品跟原生的Hadoop的那一套的使用&#xff0c;还是有很大的区别的&#xff0c;现记录一下&#xff0c;避免以后忘了 一、原始代码的下载 下载地址&#xff1a;MRS样例…

UVa12313 A Tiny Raytracer

UVa12313 A Tiny Raytracer 题目链接题意分析AC 代码 题目链接 UVA - 12313 A Tiny Raytracer 题意 给出 《训练指南》题意翻译 本题的任务是实现一个小型光线追踪渲染器。场景由若干三角形网格&#xff08;triangle mesh&#xff09;组成&#xff0c;有且仅有一个点光源&…

lua编译器和lua解释器、lua虚拟机的区别

一、区别总结 lua编译器&#xff1a; 将lua源代码编译成字节码&#xff0c;提高代码加载速度 lua解释器&#xff1a;逐条执行编译器生成的字节码&#xff0c;并将其转换为虚拟机可以执行的指令。 lua虚拟机&#xff1a;提供了执行指令所需要的环境 二、lua编译器 Lua编译器的主…

R语言高级数据管理

一&#xff0c;数学函数 绝对值函数abs(x) sqrt(x) 开平方根 不小于某个数的最小整数ceiling(x) 不大于某个数的最大整数floor(x) 四舍五入round(x) sin(x) cos(x) log(x) 二&#xff0c;统计函数 求平均值 > x<-c(2,3,4,5,6,7,8,9,10) > mean(x) 求和 &g…

RustGUI学习(iced)之小部件(二):如何使用滑动条部件

前言 本专栏是学习Rust的GUI库iced的合集&#xff0c;将介绍iced涉及的各个小部件分别介绍&#xff0c;最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个&#xff0c;目前处于发展中&#xff08;即版本可能会改变&#xff09;&#xff0c;本专栏基于版本0.12.1. 概述…

抓包理解协议

用的Wireshark 抓包 1.抓包网卡选择 - WLAN 无线网卡&#xff0c;其他是本地虚拟机的网卡 这里分别是开始捕获、停止捕获、重新捕获、网卡选择&#xff0c;下面是可以过滤选择 过滤tcp包 3次握手&#xff1a; source是源地址&#xff0c; destination是目标地址&#xff0c;in…

QT文件上传带进度条实例(含源码)

一、Qt上传知识点 QNetworkAccessManager QNetworkAccessManager 是 Qt 中用于执行网络操作的类,它提供了一种方便的方式来发送网络请求并处理响应。以下是关于 QNetworkAccessManager 的一些重要知识点: 发送网络请求:QNetworkAccessManager 可以通过不同的方法发送网络请…

Linux: Netlink 简介

文章目录 1. 前言2. Netlink 范例3. Netlink 简析3.1 Netlink 协议簇注册3.2 创建 用户空间 Netlink 套接字3.3 用户空间 Netlink 套接字 的 绑定3.4 向 内核空间 Netlink 套接字 发消息3.5 从 内核空间 Netlink 套接字 读消息3.5.1 内核空间 Netlink 套接字 向 用户空间 Netli…

CSS3(响应式布局)

#过渡# 属性连写&#xff1a; transition: width 2s linear 1s; //前一个时间用于表示过渡效果持续时间&#xff0c;后一个时间用于表示过渡效果的延迟。 #转换# #2D转换# 和 #3D转换# 注意&#xff1a;其中angle对应单位为&#xff1a;deg #圆角# #边框# …

使用Docker部署Jupyter Notebook并结合花生壳的内网穿透实现远程访问(详文)

一、前言 本文主要介绍如何利用宝塔面板中的Docker 3.9.3管理器,使用Docker本地部署Jupyter Notebook,并结合花生壳内网穿透工具实现任意浏览器公网远程访问Jupyter登录界面。 安装完成后在宝塔面板中图例 Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言。…

会声会影2024破解电脑版下载附带永久免费激活码

会声会影2024是一款功能强大的视频编辑软件&#xff0c;它凭借直观易用的界面、全面的编辑工具以及丰富的特效和转场效果&#xff0c;受到了广大视频编辑爱好者和专业人士的喜爱。以下是对会声会影2024的详细介绍&#xff1a; 会声会影最新一键安装包下载如下&#xff1a; ht…

sqlserver在执行维护计划备份时报错,重新设置维护任务,也同样出错,另一计划的异地备份又正常。

出错提示&#xff1a;已以用户 NT Service\SQLSERVERAGENT 的身份执行。 最大值(1)&#xff0c;因此导致失败。当错误数达到 MaximumErrorCount 中指定的数目时将发生这种情况。请更改 MaximumErrorCount 或纠正这些错误。 警告结束 DTExec: 已返回包执行 DTSER_FAILURE (1)。…

web页面点击右键显示按钮

首先声明一个对象&#xff0c;然后把声明的对象&#xff0c;赋值一个function&#xff0c;在对象的function当中再return一个function&#xff0c;在返回的这个function中第一步就是要把按钮的class先移除&#xff0c;不然到后面取消右键显示按钮的时候会失效&#xff0c;按钮依…