conda和pip 安装python依赖包区别和使用技巧

2023-11-18

引言

Conda 作为一种跨平台的包和虚拟环境管理器,使用的时候功能与pip类似。安装python依赖包的时候经常将两种方法混合使用,但一直没有进行具体区分其差别。重新安装python依赖包的时候出现各种不兼容的bug。经历一天烦躁的安装、卸载和查阅资料的痛苦过程,将自己的学习收获梳理一下,以便自己未来回顾查看,同时公开分享帮助遇到同样难题的朋友们。

Anaconda下载链接:

Anaconda可以通过官网下载,但是速度较慢。大家一般是从国内镜像网站进行下载安装。例如清华源:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载。

目录

一、conda和python的区别

二、创建项目环境及安装依赖包命令

三、安装python依赖包

3.1 pip安装package使用技巧

3.1.1.pip的wheel安装:

3.1.2.pip的国内镜像源安装

3.2 conda安装package使用技巧


一、conda和python的区别

Anaconda官网对conda和pip的区别进行了对比分析。

conda和pip主要区别:

(1)conda 不仅可以安装依赖包还可以创建隔离的虚拟环境。而pip不可以。当导入不同的项目文件为避免python依赖包不兼容问题,可以为每个项目创建自己的虚拟环境。

(2)conda不仅可以安装python库,还可以安装C\C++或者其他语言库

(3)conda 有严格的检查机制,可以保证package安装完后就work,conda只检查用conda安装的包,不检查pip安装的包。这样如果用pip已经安装,conda会无视其存在重新安装一个。两个包同时存在会出现调用冲突。卸载不干净的时候可以从anaconda安装路径下的/Lib/site-packages/手动卸载。

请问大神们,pip install 和conda install有什么区别吗? - 知乎

二、创建项目环境命令

1.用conda命令创建项目环境

导入不同的项目时创建不同的python环境,不同环境的依赖包相互隔离,避免产生引用冲突。

conda create -n 环境名称 python=python版本

 2.显示环境列表

conda env list

3.激活环境

conda activate 环境名称

4.退出环境

conda deactivate

5.删除环境

conda remove -n 环境名称 --all 

三、安装python依赖包

3.1 pip安装package使用技巧

3.1.1.pip的wheel安装:

whl下载链接:https://download.pytorch.org/whl/torch_stable.html

在安装torch、torchvision的时候注意上网查询兼容版本号。本人采用的技巧是通过pytorch官网的命令行显示的版本号去whl网站下载对应的版本。因为pytorch官网给出的命令属于联网安装,由于网速等原因经常出现安装失败情况。

安装whl文件需要在命令窗口输入命令进入存放文件的目录,之后用pip install 命令安装。

#打开盘符D命令
d:
#进入子目录命令
cd xxx
#安装whl命令
pip install xxx.whl

3.1.2.pip的国内镜像源安装

pip安装依赖包可以采用从国内镜像源在线安装的方式,镜像源可以是临时镜像源,或者配置成永久镜像源。

(1)使用临时镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

常用的国内镜像源有:

https://pypi.tuna.tsinghua.edu.cn/simple
https://mirrors.aliyun.com/pypi/simple/
https://pypi.douban.com/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
https://pypi.hustunique.com/
https://pypi.sdutlinux.org/

(2)配置永久镜像源

方法一:在C:\Users\xxx\路径下寻找pip文件夹,若没有可以创建,打开pip文件夹创建pip.ini文件。将以下文本放入pip.ini文件中。

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

方法二:使用命令设置永久源

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

如果想改成默认镜像源直接删除pip文件即可。

3.2 conda安装package使用技巧

(1)使用临时镜像源

conda install --channel https://地址 包名

(2)配置永久镜像源

方法一:在C:\Users\xxx\路径下寻找.condarc文件,也可以通过命令显示.condarc文件所在路径。

conda config --show-sources #显示.condarc文件路径

##显示结果##
==> C:\Users\62494\.condarc <==
show_channel_urls: True

Windows 用户无法直接创建.condarc 文件。先通过以下命令生成该文件后对文件内容进行修改。

conda config --set show_channel_urls yes

.condarc文件中的内容替换为(清华源、阿里源等)

channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

配置完成可运行命令清除索引缓存

conda clean -i

方法二:在conda 命令窗口中输入命令创建永久源。

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

其他conda命令

查看当前源命令

conda config --show channels 
conda config --get channels

如果想改成默认源

conda config --remove-key channels

删除某镜像源

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

命令代码参考

conda环境和更换镜像源_conda更新镜像-CSDN博客

Anaconda常用命令及配置国内镜像源_conda install 镜像_凉水/的博客-CSDN博客
conda 修改镜像源_conda更换镜像源_青灯剑客的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

conda和pip 安装python依赖包区别和使用技巧 的相关文章

  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 您可以格式化 pandas 整数以进行显示,例如浮点数的“pd.options.display.float_format”?

    我见过this https stackoverflow com questions 18404946 py pandas formatdataframe and this https stackoverflow com questions
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s

随机推荐

  • C-NOIP1998P3 二的幂次方

    include
  • ARMV8体系结构简介:exclusive monitor

    为了支持exclusive操作 硬件会增加exclusive monitor来支持 一 exclusive monitor exclusive monitor分为2类 local monitor 实现在cpu内部 针对cacheable属性
  • Android 图像模糊处理

    近期接触到了图像模糊处理 用了一些办法可以实现但交互效果不好 在Github上找到的 试了一些办法 觉得还是以下方法 比较靠谱 大致分为两种 一种是RenderScript 一种是国外提供的一种 高斯算法 上代码 来看看 首先来看看andr
  • 西门子PLC S7-1200程序实例 西门子1200与安川机器人TCP/IP通讯,包含机器人GSD文件

    西门子PLC S7 1200程序实例 博图版本V15 仅供电气编程者学习借鉴 1 西门子1200与安川机器人TCP IP通讯 包含机器人GSD文件 2 西门子1200控制6轴伺服电机 四台台脉冲控制台达B2伺服 两台PN通讯控制西门子V90
  • Python 新手入门学习教程、第三方库以及开发工具整合(持续更新)

    目录 一 学习教程 1 python 系统学习教程 python 菜鸟教程 真的挺全面 接口讲解比较全面且有例子参考 通俗易懂 入门必备 2 python api接口文档 官方 python api接口标准库 所有的api接口解释非常详细
  • 算法学习之二分查找

    个人主页 勇敢的小牛儿 推荐专栏 C语言知识点 座右铭 敢于尝试才有机会 今日鸡汤 Is the true wisdom fortitude ambition Napoleon 真正的才智是刚毅的志向 拿破仑 目录 一 二分查找法介绍 二
  • JAVA单元测试框架-13-TestNG中的Listener监听

    使用TestNG中的Listener完成监听测试 通过实现ITestListener里面的方法完成测试过程监听 public class TestListenner implements ITestListener Override pub
  • 浮点数转化为字符串存进数组模块分享(自动保留到小数点后一位)

    目录 一 使用说明 二 模块代码 三 代码讲解 四 作者的话 一 使用说明 1 数据格式 浮点数可以为整数部分不超过3位的所有浮点数 数组格式只能设置为下面这一种 unsigned char fnums 5 0 a 0 用于存放正负 1表示
  • 面向对象编程是什么意思呢?汇总

    https blog csdn net qq 32381815 article details 79119996 面向对象思想 谈谈你对面向对象的理解 https blog csdn net qsbbl article details 71
  • Altium Designer20快捷键整理合集

    花了点时间整理了一下平常经常用到的一些AD20的快捷键操作 自用可取 经过验证均可用 原理图 PCB通用快捷键 保存 CTRL S 打开 CTRL O 关闭 CTRL F4 打印 CTRL P 退出 ALT F4 项目打包 C P 文档切换
  • UnrealEngine4初始设置及个人使用崩溃记录

    日志 1 第一次记录 2020 2 05 版本 4 24 2 UnrealEngine的初始设置 1 在Epic中下载UnrealEngine4之后 1 1 首先 启动 选项 1 2 接着 勾选 输入调试用符号 应用 以后出现新的崩溃问题
  • vue3中如何循环本地图片

  • eNSP实验:DHCP&&安全区域&&安全策略&&静态路由

    解题思路 1 先给各个接口以及server1服务器配置好地址 2 连接Cloud云 利用物理 web 防火墙 方便操作 只用命令行的情况下可以不用这个方法 3 利用DHCP给各个方向接口的PC自动分配好地址 4 利用静态路由的方法 将两个防
  • VimFoundation

    模式 vim 分为两种模式 1 命令模式 2 编辑模式 命令模式 i 进入编辑模式 w 保存 q 退出 强制 syntax on 打开语法高亮 set number 显示行号 cc 剪切当前行 pp 粘贴到当前行 u 撤销3武器3 yy 复
  • 开源大模型资料总结

    基本只关注开源大模型资料 非开源就不关注了 意义也不大 基座大模型 LLaMA 7 13 33 65B 1 4T token LLaMA及其子孙模型概述 知乎 GLM 6 130B ChatGLM基座 GLM General Languag
  • C++基础知识 - stack容器

    stack容器 stack是堆栈容器 是一种 先进后出 的容器 stack是基于deque容器而实现的容器 include lt stack gt stack对象的默认构造 stack采用模板类实现 stack对象的默认构造形式 stack
  • 金三银四必备,全面总结 Kotlin 面试知识点

    作者 彭旭锐 前言 在 Android 面试中很重视基础知识的考察 其中语言基础主要包括 Java Kotlin C C 三种编程语言 在小彭面试的经验中 发现很多同学的 Kotlin 语言能力只是停留在一些非常入门的语法使用上 在这篇文章
  • 如何让ChatGPT写情书(三步走)

    近年来 人工智能技术的迅猛发展给我们生活带来了许多便利和惊喜 而动人的情书文学也逐渐成为ChatGPT技术的应用领域之一 ChatGPT模型是一种递归神经网络 可以在大量数据的基础上为用户生成语言内容 使用GPT来写情书 相比以前的纯手工撰
  • python详细安装教程(配置环境变量)

    python安装教程 配置环境变量 人生苦短 我用python 直接在官网下载安装包 msi文件进行安装 https www python org downloads windows 下载python 注意 浏览器左下角下载 点击后 会自动
  • conda和pip 安装python依赖包区别和使用技巧

    引言 Conda 作为一种跨平台的包和虚拟环境管理器 使用的时候功能与pip类似 安装python依赖包的时候经常将两种方法混合使用 但一直没有进行具体区分其差别 重新安装python依赖包的时候出现各种不兼容的bug 经历一天烦躁的安装