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依赖包区别和使用技巧 的相关文章

  • 如何恢复tensorflow inceptions检查点文件(ckpt)?

    I have inception resnet v2 2016 08 30 ckpt文件是预先训练的初始模型 我想使用恢复这个模型 saver restore sess ckpt filename 但为此 我将需要编写训练该模型时使用的变量
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • Python 类型提示 Dict 语法错误 可变默认值是不允许的。使用“默认工厂”

    我不知道为什么解释器会抱怨这个类型的字典 对于这两个实例 我得到一个 不允许可变默认值 使用默认工厂 语法错误 我使用的是 python 3 7 3 from dataclasses import dataclass from typing
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并

随机推荐

  • 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 经历一天烦躁的安装