【Python】推荐调试pip的六个技巧

文摘   科技   2024-07-13 08:30   江苏  








01


引言





大家好,我是AI算法之道!


Python是我最喜欢的编程语言之一,它向来以其简单性、多功能性和可读性而闻名。



然而,构建Python应用程序,首先要做的事就是搭建Python基础运行环境,如果应用程序需要很多依赖库,我们在使用pip时有可能会遇到各种各样的问题。


在本文中,我们将深入探讨使用pip的六个调试技巧,希望可以帮助到大家!





02


 pip list

在终端键入pip list 命令,则会列出 venv 中安装的所有库,以及每个库的版本。

Package    Version---------- -------colorama   0.4.6packaging  24.0pip        24.0pipdeptree 2.22.0

如果我们的依赖关系有问题,或者我们需要快速检查我们安装的东西是否过时,此时我通常会将我的 pip 列表与我同事的列表进行比较。



03


 pip show


命令pip show会显示某个库的详细信息。例如,pip show colorama 显示 colorama 库的详细信息,如下:

Name: coloramaVersion: 0.4.6Summary: Cross-platform colored terminal text.Home-page: Author: Author-email: Jonathan Hartley <tartley@tartley.com>License: Location: /Users/lzl/Documents/repos/test/thumbnail/venv/lib/python3.12/site-packagesRequires: Required-by:

如果我已经清楚知道可能是哪个库导致了问题,并且想快速检查某个库,我通常会使用这种方法。


04


 pipdeptree


在使用该库之前,我们需要使用如下命令来安装它。

pip install pipdeptree

在终端键入命令 pipdeptree 会以依赖树的形式显示我们安装的所有库,其中显示哪些库依赖于哪些其他库。

假设我们只在 Python 虚拟环境中安装了 colorama 和 pipdeptree,如下则是运行pipdeptree 命令后的输出结果:

colorama==0.4.6pipdeptree==2.22.0├── packaging [required: >=23.1, installed: 24.1]└── pip [required: >=23.1.2, installed: 24.0]

则上述输出表明:

  • 已安装 colorama 0.4.6 版本,并且该库不依赖任何东西

  • 已安装 pipdeptree 2.22.0 版本,它依赖于2个库 - packaging 和 pip

如果我的依赖关系出了问题,我通常会使用 pipdeptree,这样我就能对我的系统中的依赖关系有一个高层次的概览。



05


手动检查venv

有时,由于某些原因,pip 会出现一些奇怪的行为。当我们不知道pip 在做什么时,我们可能会想手动检查我们安装在虚拟环境里的东西。

假设我们只安装了 colorama 和 pipdeptree。现在,让我们手动在venv 中检查已安装的库。
  • 首先转到你的 venv 文件夹(你的 Python 虚拟环境应该在一个文件夹中)

  • 接着导航至 venv/lib/python3.12/site-packages(或类似文件夹)
  • 最后,大家应该能看到所有已安装的软件包,如下:


在我的 venv 中,我只安装了 colorama 和 pipdeptree,所以这就是我的 venv 库的样子。

注意--当我们使用import语句时,例如从 colorama 导入 Fore 时,我们只是直接从这些文件夹中导入。


06


pip install --upgrade


有时,在我们的项目工作过程中,其他人可能会升级或更改依赖关系,并将他们的更改推送进来。在我们拉入他们的更改后,这些东西很可能会被破坏,我们需要重新整理我们的依赖关系(这种情况经常发生)。

命令 pip install --upgrade 会安装最新版本的库。

例如,pip install --upgrade colorama 会安装最新版本的 colorama。如果我们已经有了最新版本,则不会有任何变化。


07


pip install --no-cache-dir

有时,Pip 会将内容存储在缓存cache目录下--因此,如果我们将来安装相同的内容,Pip 会从本地缓存中安装,而不是从在线缓存(如 PyPI )中安装。

这样设计的目的是让pip无需每次都从网上(如PyPI )安装,从而节省时间。

不过,有时我们想安装某个库的更新版本,但 pip 会选择安装缓存版本。这导致我们无法安装更新的版本。

因此,使用如下命令 

pip install --no-cache-dir <libaray>

 则会在不使用缓存的情况下安装我们的库。这意味着我们安装的是在线源的最新版本。



08


总结


本文介绍了调试pip安装python库的六个技巧,希望这些小技巧可以帮助到大家,提升大家的工作效率!



您学废了吗?






点击上方小卡片关注我




添加个人微信,进专属粉丝群!


AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
 最新文章