• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

5 - 自带库 - pip - 管理python包工具

作者:

贺及楼

成为作者

更新日期:2024-12-27 14:32:12

pip - 管理python包工具

作用:管理各种第三方python包

pip简介

pip 是 Python 的包管理工具,它允许用户从 Python 包索引(PyPI)安装和管理软件包。以下是从不同角度对 pip 的描述:

功能性角度:

  • 包安装器pip 能够安装来自 PyPI 的第三方库,使得开发者可以轻松地扩展 Python 的功能。
  • 依赖管理器pip 能够处理依赖关系,自动安装项目所需的其他包。
  • 版本控制pip 支持安装特定版本的包,方便开发者控制项目依赖的版本。
  • 卸载工具pip 可以用来卸载不再需要的包。
  • 包管理器pip 可以列出已安装的包,检查包的详细信息,以及搜索可用的包。

用户体验角度:

  • 命令行界面pip 提供了一个直观的命令行界面,用户可以通过命令行参数进行各种操作。
  • 自动化pip 能够自动处理包的安装和卸载,减少了手动操作的需要。
  • 跨平台pip 支持多种操作系统,包括 Windows、macOS 和 Linux。

开发者角度:

  • 项目依赖管理pip 可以生成 requirements.txt 文件,列出项目所需的所有依赖,方便开发者在不同环境中复现相同的开发环境。
  • 虚拟环境支持pip 与虚拟环境工具(如 venvvirtualenv)集成,支持在隔离的环境中安装和管理包。
  • 兼容性pip 支持 Python 的多个版本,包括 Python 2 和 Python 3。

安全性角度:

  • 安全警告pip 在安装过程中会检查包的安全性,提醒用户注意潜在的安全问题。
  • 安全传输pip 默认使用 HTTPS 协议来下载包,确保传输过程中的数据安全。

社区和生态系统角度:

  • 广泛的包支持pip 可以访问 PyPI 上的成千上万个包,这些包由全球的 Python 开发者社区维护。
  • 持续更新pip 本身也在不断更新,以支持新的 Python 特性和包管理需求。

性能角度:

  • 快速安装pip 支持并行安装,可以加快包的安装速度。
  • 缓存机制pip 会缓存下载的包,以便后续安装时可以快速复用,减少网络请求。

pip 是 Python 生态系统中不可或缺的一部分,它极大地简化了包的管理和分发,使得 Python 开发更加高效和便捷。
PyPI官网https://pypi.org/

高版本python无需安装pip

pip -V
看版本命令,有版本号说明已经安装
pip是否已经安装

换源/镜像(这样在国内下载pip包更快)

更换pip源可以通过几种不同的方法来实现,这样可以提高安装包的速度,特别是当你位于网络环境访问默认的PyPI源速度较慢时。

  1. 1、升级pip(更新不了跳过也可以)
  2. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
  3. 2、查pip下载包的来源,一开始返回空
  4. pip config list
  5. 3、设置下载目录
  6. 清华、阿里云
  7. pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  8. pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
  9. 4、再查一次
  10. pip config list
  11. 'https://pypi.tuna.tsinghua.edu.cn/simple'

加入了阿里云镜像

命令

  1. pip list # 看安装了多少第三方库
  2. ## 安装第三方库
  3. pip install XXX
  4. pip install XXX==0.1.0
  5. pip install XXX==999999
  6. pip uninstall XXX # 卸载第三方库
  7. ## 生成安装包列表为txt
  8. pip freeze > xxx.txt
  9. pip freeze > requirements.txt
  10. requirements.txt是约定俗成的叫法,有包名==版本号
  11. pip freeze > requirements_win.txt
  12. pip freeze > requirements_mac.txt
  13. pip freeze > requirements_linux.txt
  14. ## 安装requirements.txt里的包
  15. pip install -r requirements.txt
  16. pip install -r requirements_win.txt
  17. pip install -r requirements_mac.txt
  18. pip install -r requirements_linux.txt
  19. ## 更新包
  20. pip install --upgrade xxx
  21. ## 查看pip的安装信息

==是指定版本
999999给一个高离谱版本,就可以看可以有什么版本安装

pip list

  1. pip list

pip已安装的库

pip list 是一个Python包管理命令,它用于显示当前Python环境中安装的所有包。这个命令非常有用,可以帮助你快速查看已经安装了哪些第三方库,以及它们的版本号,还有一些更新提示。
—format=columns 或 —format=freeze:改变输出格式。columns 会按列显示包名和版本,而 freeze 会以一种可以被 pip install 直接使用的格式显示。

  1. pip list --format=columns
  2. pip list --format=freeze

pip list

pip install xxx

  1. pip install pandas

这是一个有趣的数据分析库 pandas教程 - 非常详细版
安装库

这里可以看见安装过程、从什么资源下载的包、进度条
这里可以看见安装pandas库成功,还包括了其他5个库,一共6个库numpy-2.1.1 pandas-2.2.3 python-dateutil-2.9.0.post0 pytz-2024.2 six-1.16.0 tzdata-2024.2
这些都是pandas库的依赖,也会自动安装

pip freeze > requirements.txt

  1. pip freeze > requirements.txt

生成安装包列表

运行后没有报错,看见文件夹多了一个requirements.txt

requirements.txt
此处有一个小贴士,就是增加操作系统标志,因为会有各种不同
windows_requirements.txt
ubuntu_requirements.txt
macos_requirements.txt

requirements.txt
这里文件有包名字、版本号
通过==连接

pip install -r requirements.txt

在运行本命令前,一般是项目的话都会先创建虚拟环境 自带库 - venv - 虚拟环境

  1. pip install -r requirements.txt

根据 requirements.txt 文件安装依赖包
pip安装依赖包
这里一条命令就把13个依赖包都安装了,非常舒心了,可以实现快速转移项目到其他计算机里

这里有一个小贴士:
有可能出现中断的情况,一般的方法是
1、核对操作系统版本
2、核对python版本
3、核对pip版本
4、再安装一次

pip install XXX==999999

  1. pip install pandas==999999

快速查看包版本

pip可以给一个大版本号,可以实现快速查看包版本号

pip index versios xx

  1. pip index versios xx
  1. pandas (2.2.3)
  2. Available versions: 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.25.3, 0.25.2, 0.25.1, 0.25.0, 0.24.2, 0.24.1, 0.24.0, 0.23.4, 0.23.3, 0.23.2, 0.23.1, 0.23.0, 0.22.0, 0.21.1, 0.21.0, 0.20.3, 0.20.2, 0.20.1, 0.20.0, 0.19.2, 0.19.1, 0.19.0, 0.18.1, 0.18.0, 0.17.1, 0.17.0, 0.16.2, 0.16.1, 0.16.0, 0.15.2, 0.15.1, 0.15.0, 0.14.1, 0.14.0, 0.13.1, 0.13.0, 0.12.0, 0.11.0, 0.10.1, 0.10.0, 0.9.1, 0.9.0, 0.8.1, 0.8.0, 0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.1, 0.6.0, 0.5.0, 0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.0, 0.2, 0.1
  3. INSTALLED: 2.2.3
  4. LATEST: 2.2.3

查看包版本
可以看见有本python版本、本操作系统对应的pandas版本
还有最大版本、已安装版本

查看pip的安装信息

  1. pip show pandas
  1. Name: requests
  2. Version: 2.32.3
  3. Summary: Python HTTP for Humans.
  4. Home-page: https://requests.readthedocs.io
  5. Author: Kenneth Reitz
  6. Author-email: me@kennethreitz.org
  7. License: Apache-2.0
  8. Location: /Users/chu/Desktop/test/venv/lib/python3.10/site-packages
  9. Requires: certifi, charset-normalizer, idna, urllib3
  10. Required-by:

pip安装信息
此处可以看见的安装信息包括:名字、版本、包官网、作者、作者联系方式e-mail、许可、安装位置、包的依赖
更详细一点可以查看第三方库 - pipdeptree - 包的依赖关系,本篇文章介绍pipdeptree包,可以将依赖文件根据树tree形式在命令行打印出来。