Python:pipdeptree 语法介绍

news2024/11/15 7:05:17

相信大家在按照一些包的时候经常会碰到版本不兼容,但是又不知道版本之间的依赖关系,今天给大家介绍一个工具:pipdeptree
pipdeptree 是一个 Python 包,用于查看已安装的 pip 包及其依赖关系。它以树形结构展示包之间的依赖关系,帮助开发者理解和管理项目的依赖。

安装:

1、安装:

使用 pip install pipdeptree 命令来安装。

2、查看所有依赖:

使用 pipdeptree 命令可以查看所有已安装包及其依赖关系。

3、查看特定包的依赖:

使用 pipdeptree -p <package_name> 命令可以查看特定包的依赖关系。

4、查看哪些包依赖于特定包:

使用 pipdeptree -r -p <package_name> 命令可以查看哪些包依赖于特定包。

5、生成需求文件:

使用 pipdeptree --freeze 命令可以生成类似 pip freeze 的输出,但包括依赖关系信息。

举例说明:

在这里插入图片描述

上图可以看到当我在安装onnx==1…13.0的时候,出现不兼容问题,注意是tensorboard和protobuf版本不兼容的问题,当我使用pipdeptree -p onnx的时候,会显示与之兼容的tensorboard和protobuf版本。可以看到不管是对于tensorboard还是onnx来说,protubuf都是太高,这个时候我们降低protobuf的版本。
在这里插入图片描述
当我们安装protobuf的版本的时候,可以发现,与onnx兼容的protobuf的范围:protobuf [required: >=3.20.2,<4, installed: 3.20.3],所以仅仅降低protobuf的范围是不够的,这个时候,我们降低onnx的版本,在这里插入图片描述
当我们把onnx降低到1.12.0的时候,再去安装protobuf的时候,不会出现兼容报错了。这个时候在pipdeptree -p onnx,可以看到,protobuf在兼容范围里面。可以看到出现了一个警告:

* twisted==23.10.0
 - zope-interface [required: >=5, installed: ?]

我们可以继续按照上面的过程,先看看一个twisted的兼容版本,其实这个zope.interface,是已经安装了的,但是不知道为什么twisted识别不出来,我尝试了重新与twisted兼容的zope.interface,但是还是不行,还是识别不出来,
zope.interface
根据以往的经验,我感觉可能twisted版本太新了,我一查,果然是
在这里插入图片描述
于是我尝试降低twisted的版本,大家可能会有疑问了,twisted要降低到哪一个版本,我个人经验是,要与有关联包发布时间的版本,这个是我的个人经验,一直挺好使的,如果在出现兼容问题,安装发布时间相近的包,几乎很少出现兼容问题。,强烈推荐大家试试。比如twist一直是与zope.interface出现兼容问题,我们可以查看一下,zope.interface5.5.2的发布时间。
在这里插入图片描述
可以看到,与zope.interface5.5.2发布时间相近的twisted版本是22.10.0。所以就降低到这个版本。
在这里插入图片描述
可以看到再次pipdeptree -p twisted,没有出现任何不兼容的警告了。

感悟:

当在出现包之间不兼容的时间,强烈大家安装发布时间相近的版本,发布时间不要相隔太久,我在实践过程中就是这样做的,几乎每次都完美的解决了。依赖包之间,发布时间相差越久,越容易出现不兼容的问题。比如上面的twisted和zope.interface,发布相差一年就出现兼容问题了。

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

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

相关文章

模型评估:压力测试 模拟对手 对齐 智能对抗 CAPTCHA(全自动区分计算机和人类的公共图灵测试)

对齐&#xff0c;智能对抗&#xff1a;魔高一尺&#xff0c;道高一丈。用更高的智能去对抗恶意使用。openAI一半的内容都在讲这个&#xff0c;但没有讲具体的方法。 如果认为对方是一个人就通过了图灵测试&#xff0c;真正的实现了智能。 如果智能达到了这种程度&#xff0c;智…

CDN中的OCSP Stapling是什么?有必要开启吗?

我们在使用CDN时&#xff0c;CDN后台都有一个OCSP Staplin的选项&#xff0c;一般在设置HTTPS里面&#xff0c;如下图位子&#xff1a; 那么这个OCSP Stapling是什么了&#xff0c;我们看看介绍。 OCSP Stapling简介 OCSP&#xff08;Online Certificate Status Protocol&…

DS冲刺整理做题定理(三)图论合集

第三期&#xff0c;总结性地来说一下图论&#xff0c;也是数据结构中最核心最难的一章~ 目录 一.图的基本概念 二.图的存储及其基本操作 三.图的遍历 四.图的应用 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对在某种意义上是“相关的”。这些对…

基于ssm网络安全宣传网站设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网络安全宣传网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

【Pytorch】学习记录分享3——PyTorch 自动微分与线性回归

【【Pytorch】学习记录分享3——PyTorch 自动微分与线性回归 1. autograd 包&#xff0c;自动微分2. 线性模型回归演示3. GPU进行模型训练 小结&#xff1a;只需要将前向传播设置好&#xff0c;调用反向传播接口&#xff0c;即可实现反向传播的链式求导 1. autograd 包&#x…

c语言快速排序(霍尔法、挖坑法、双指针法)图文详解

快速排序介绍&#xff1a; 快速排序是一种非常常用的排序方法&#xff0c;它在1962由C. A. R. Hoare&#xff08;霍尔&#xff09;提的一种二叉树结构的交换排序方法&#xff0c;故因此它又被称为霍尔划分&#xff0c;它基于分治的思想&#xff0c;所以整体思路是递归进行的。 …

vscode 同步插件

vscode 扩展商店链接 https://marketplace.visualstudio.com/vscode settings sync 插件

DHCP—动态主机配置协议

动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;是RFC 1541&#xff08;已被RFC 2131取代&#xff09;定义的标准协议&#xff0c;该协议允许服务器向客户端动态分配IP地址和配置信息。 DHCP协议支持C/S&#x…

如何在Ubuntu的Linux系统上搭建nacos集群

官方给出的集群部署架构图 集群部署说明 (nacos.io)3个或3个以上nacos节点才能构成集群当前示例中包含3个nacos节点&#xff0c;同时一个负载均衡器代理3个nacos&#xff0c;本示例中负载均衡器可使用的是nginx 准备并安装好正常运行的nginx&#xff0c;本示例略准备并安装好正…

自己动手写数据库: select 查询语句对应查询树的构造和执行

首先我们需要给原来代码打个补丁&#xff0c;在SelectScan 结构体初始化时需要传入 UpdateScan 接口对象&#xff0c;但很多时候我们需要传入的是 Scan 对象&#xff0c;因此我们需要做一个转换&#xff0c;也就是当初始化 SelectScan 时&#xff0c;如果传入的是 Scan 对象&am…

浅谈故障注入的主要功能是什么?

随着现代软件系统的复杂性不断增加&#xff0c;保障系统的可靠性变得愈发重要。在这一背景下&#xff0c;故障注入技术崭露头角&#xff0c;成为优化系统稳定性和鲁棒性的关键手段。本文将探讨故障注入的主要功能以及在提高系统可靠性方面的作用。 1. 故障模拟与验证 故障注入技…

项目管理系统在律师案件管理中的应用与策略

法律案件管理软件可以帮助律师事务所自动化其日常工作流程&#xff0c;例如查看任务、跟踪计费时间和日历。这有助于公司提高效率并最大化收入&#xff0c;从而发展业务。 使用Zoho Projects项目管理系统进行律师案件管理可以帮助您更好地组织和跟踪案件进程、提高团队协作效率…

【论文精读ICCV_2023】BlendFace: Re-designing Identity Encoders for Face-Swapping

【论文精读ICCV_2023】BlendFace: Re-designing Identity Encoders for Face-Swapping 一、前言Abstract1. Introduction2. Related Work3. Attribute Bias in Face Recognition Models3.1. Identity Distance Loss3.2. Analysis of Identity Similarity 4. BlendFace4.1. Pre-…

中低压MOS 适用于电子烟等产品—— 较小的开关损耗 过流能力好

工作原理&#xff1a; 当用户在吸嘴处抽吸时&#xff0c;气流经过进气孔&#xff0c;穿 过电路板上方的咪头&#xff0c;咪头即产生电信号&#xff0c;驱 动芯片板&#xff0c;让电池供电给雾化芯&#xff0c;雾化芯中的 发热丝将电能转化成热能&#xff0c;当温度达到雾化液…

Zibll子比主题最新学习版

Zibll子比主题5.7.1是一款为WordPress平台设计的优秀主题。它具有独特而富有吸引力的设计风格&#xff0c;同时提供了丰富的功能和卓越的性能&#xff0c;使您的网站在众多网站中脱颖而出。以下是对Zibll子比主题5.7.1的详细介绍。 &#xff08;这是我在“布谷鸟网址导航”上看…

C++ - 哈希

在顺序结构以及平衡树中&#xff0c;由于元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较&#xff1b;比如顺序表中需要从表头开始依次往后比对寻找&#xff0c;查找时间复杂度为 O(N)&#xff0c;平衡树中需…

通俗理解什么是 LSTM 神经网络

大家好啊&#xff0c;我是董董灿。 刚开始做程序开发时&#xff0c;在公司提交代码前&#xff0c;都需要让大佬们 review(评审)&#xff0c;大佬们看完&#xff0c;总会在评论区打出一串"LGTM"。 当时作为小白的我&#xff0c;天真地以为大佬觉得我提交的代码还不错…

浮动的魅力与挑战:如何在前端设计中巧妙运用浮动(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【UE5.1 MetaHuman】使用mixamo_converter把Mixamo的动画重定向给MetaHuman使用

目录 前言 效果 步骤 一、下载mixamo_converter软件 二、Mixamo动画重定向 三、导入UE 四、动画重定向 五、使用重定向后的动画 前言 上一篇&#xff08;【UE5】初识MetaHuman 创建虚拟角色&#xff09;中我们已经制作了一个MetaHuman&#xff0c;本篇博文将介绍如何…

Unity 关于Rigidbody刚体组件的理解

一、基本了解 刚体Rigidbody因具体物理相关的属性&#xff0c;使得实际应用中更有真实感。应用也多&#xff1a; Rigidbody它可以受到重力、碰撞或者力的作用&#xff0c;所以我们可以用它模拟物体的真实物理行为&#xff0c;如受到重力的作用、与其他刚体对象进行碰撞&#…