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.mfbz.cn/a/568859.html

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

相关文章

交互式探索微生物群落与生态功能的关系

微生物群落在生态系统中发挥则重要功能&#xff0c;我们在对微生物群落进行分析时&#xff0c;会将不同分类水平&#xff08;从门到属&#xff09;的微生物类群的相对丰度与测定的某一生态功能进行相关性分析。但由于微生物类群数较多&#xff0c;又有不同的分类水平&#xff0…

DeepFaceLab小白教程:视频换脸过程

合适那些人阅读&#xff1f; 适合从未使用过DeepFaceLab的群体。 如果你想基于DeepFaceLab完成一次视频换脸的操作&#xff0c;可以看本篇。 下载方式 GitHub https://github.com/iperov/DeepFaceLab 我是用motrix下载。 网盘 https://pan.baidu.com/share/init?surlO4…

详解数据结构:队列(含栈与队列扩展)

一、顺序队列 有一种线性序列&#xff0c;特点是先进先出&#xff0c;这种存储结构称为队列。队列也是一种线性表&#xff0c;只不过它是操作受限的线性表&#xff0c;只能再两端操作&#xff1a;一端进、一端出。进的一端称为队尾&#xff0c;出的一端称为队头。队列可以用顺…

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

系统设计 --- E2E Test System

系统设计 --- E2E Test System 什么是E2EE2E Architecture Example 什么是E2E E2E&#xff08;端到端&#xff09;测试是一种软件测试方法&#xff0c;旨在模拟真实的用户场景&#xff0c;测试整个应用程序或系统的端到端功能和交互流程。E2E 测试涵盖了从用户界面到后端系统的…

OpenHarmony实战开发-合理运行后台任务

简介 设备返回主界面、锁屏、应用切换等操作会使应用退至后台。为了降低设备耗电速度、保障用户使用流畅度&#xff0c;系统会对退至后台的应用进行管控&#xff0c;包括进程挂起和进程终止。为了保障后台音乐播放、日历提醒等功能的正常使用&#xff0c;系统提供了受规范约束…

iptables实现docker容器动态端口映射实操

背景 之前在《Docker 动态修改容器端口映射的方法》一文中&#xff0c;说明了如何使用修改配置和加防火墙规则实现动态端口映射。但是没有具体分享加防火墙实现动态端口映射的实际案例。今天就分享一下实际操作案例&#xff0c;供大家参考。 分析 动态端口映射的用途 容器端口…

JavaEE初阶——多线程(六)——线程池

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程的第六篇文章,关于线程池 如果有不足的或者错误的请您指出! 目录 3.线程池3.1标准库的线程池3.2 标准库自己提供的几个工厂类3.3自己实现一个线程池完成大体框架接下来完…

解决DataGrip连接MySQL8时出现时区错误问题

解决办法&#xff1a;在url后面拼接时区参数 ?serverTimezoneAsia/Shanghai

生成式AI在B端产品的应用分析

AI产品发展到现在&#xff0c;消费端的产品应用还受到比较大的限制&#xff1b;但是在B端&#xff0c;已经有了不错的表现。作者总结了AI产品在B端的几款应用&#xff0c;一起来看看表现如何。 生成式AI在B端产品的应用分析© 由 ZAKER 提供 随着今年生成式AI应用的大范围…

绝地求生:16款战术手套,你最钟爱哪一款?

大家好&#xff0c;我是闲游盒&#xff01; 喜迎PUBG七周年生日同时游戏里又迎来了一款新的战术手套&#xff0c;那么就让我们来回顾一下目前出游戏中的16款战术手套吧&#xff0c;看看你最中意的是哪一款&#xff1f; 1、MAZARIN1K 战术手套 2、SPAJKK 战术手套 3、SWAGGER 战…

机器学习(四)之无监督学习

前言&#xff1a; 前面写了监督学习的几种算法&#xff0c;下面就开始无监督啦&#xff01; 如果文章有错误之处&#xff0c;小伙伴尽情在评论区指出来&#xff08;嘿嘿&#xff09;&#xff0c;看到就会回复的。 1.聚类&#xff08;Clustering&#xff09; 1.1 概述&#xff…

8.4.3 使用3:配置单臂路由实现VLAN间路由

1、实验目的 通过本实验可以掌握&#xff1a; 路由器以太网接口上的子接口配置和调试方法。单臂路由实现 VLAN间路由的配置和调试方法。 2、实验拓扑 实验拓扑如下图所示。 3、实验步骤 &#xff08;1&#xff09;配置交换机S1 S1(config)#vlan 2 S1(config-vlan)#exit S…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第七套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第七套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#x…

LayuiMini使用时候初始化模板修改(下载源码)

忘记加了 下载 地址 &#xff1a; layui-mini: layuimini&#xff0c;后台admin前端模板&#xff0c;基于 layui 编写的最简洁、易用的后台框架模板。只需提供一个接口就直接初始化整个框架&#xff0c;无需复杂操作。 LayuiMini使用时候初始化模板官网给的是&#xff1a; layu…

立即刷新导致请求的response没有来得及加载造成的this request has no response data available

1、前端递归调用后端接口 const startProgress () > {timer.value setInterval(() > {if (progress.value < 100) {time.value--;progress.value Math.ceil(100 / wait_time.value);} else {clearInterval(timer.value);progress.value 0;timer.value null;time.…

电磁兼容(EMC):静电放电(ESD)抗扰度试验深度解读(六)

目录 1. 静电测试干扰方式 2. 案例一 3. 案例二 4. 案例三 5. 案例四 6. 总结 静电放电测试的复杂性决定了这项测试对产品的主要影响方式也是多样的。标准里介绍了几种常见的影响方式&#xff1a; 1. 静电测试干扰方式 在静电放电试验中&#xff0c;测试了受试设备对于…

CDN、边缘计算与云计算:构建现代网络的核心技术

在数字化时代&#xff0c;数据的快速传输和处理是保持竞争力的关键。内容分发网络&#xff08;CDN&#xff09;、边缘计算和云计算共同构成了现代互联网基础架构的核心&#xff0c;使内容快速、安全地到达用户手中。本文将探讨这三种技术的功能、相互关系以及未来的发展趋势。 …

大语言模型微调过程中的 RLHF 和 RLAIF 有什么区别?

目前想要深入挖掘大型语言模型&#xff08;LLM&#xff09;的全部潜力需要模型与我们人类的目标和偏好保持一致。从而出现了两种方法&#xff1a;来自人类反馈的人力强化学习&#xff08;RLHF&#xff09;和来自人工智能反馈的人工智能驱动的强化学习&#xff08;RLAIF&#xf…

rosdep一键修复

External Player - 哔哩哔哩嵌入式外链播放器 rosdep失败原因 通常在执行rosdep init操作时就会报错&#xff0c;问题的核心在于rosdep会访问raw.githubusercontent.com这个网址下的资源&#xff0c;例如https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sour…
最新文章