「Python」22 个最常用的Python包


优质文章 , 第一时间送达!
「Python」22 个最常用的Python包
本文插图

作者 | Erik-Jan van Baaren
策划 | 万佳
出处 | 架构头条
全球各地的程序员都是怎样使用 Python?
我们从最常用的 Python 包入手 , 去解答上述这个问题 。 最初 , 我列出过去一年在 PyPI 上下载次数最多的 Python 包 。 接下来 , 深入研究其用途、它们之间的关系和它们备受欢迎的原因 。
1 Urllib3
下载次数:8.93 亿
Urllib3是一个 Python 的 HTTP 客户端 , 它拥有 Python 标准库中缺少的许多功能:

  • 线程安全
  • 连接池
  • 客户端 SSL/TLS 验证
  • 使用分段编码上传文件
  • 用来重试请求和处理 HTTP 重定向的助手
  • 支持 gzip 和 deflate 编码
  • HTTP 和 SOCKS 的代理支持
不要被名字所误导 , Urllib3并不是urllib2的后继者 , 而后者是 Python 核心的一部分 。 如果你想使用尽可能多的 Python 核心功能 , 或者你能安装什么东西是受限 , 那么请查看 urlllib.request 。
https://docs.python.org/3/library/urllib.request.html#module-urllib.request
对最终用户来说 , 我强烈建议使用 requests 包(参阅列表中的 #6) 。 这个包之所以会排名第一 , 是因为有差不多 1200 个包依赖 urllib3 , 其中许多包在这个列表中的排名也很高 。
https://libraries.io/pypi/urllib3/dependents
2 Six
下载次数:7.32 亿
six 是一个是 Python 2 和 3 的兼容性库 。 这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库 。
它提供了许多可简化 Python 2 和 3 之间语法差异的函数 。 一个容易理解的例子是six.print_ 。 在 Python 3 中 , 打印是通过print函数完成的 , 而在 Python 2 中 , print后面没有括号 。 因此 , 有了six.print_后 , 你就可以使用一个语句来同时支持两种语言 。
一些事实:
  • 它的名字叫six , 是因为二乘以三等于六 。
  • 同类库还可以看看future包 。
  • 如果你要将代码转换为 Python3(并停止支持 2) , 请查看 2to3 。
虽然我理解它为什么这么受欢迎 , 但我希望人们能完全放弃 Python 2 , 因为要知道从 2020 年 1 月 1 日起 Python 2 的官方支持就已停止 。
PyPI 页面
https://pypi.org/project/six/
文档
https://six.readthedocs.io/
3 botocore、boto3、s3transfer、awscli
这里 , 我把相关的几个项目列在一起:
botocore(#3 , 6.6 亿次下载)
s3transfer(#7 , 5.84 亿次下载)
awscli(#17 , 3.94 亿次下载)
boto3(#22 , 3.29 亿次下载)
Botocore是 AWS 的底层接口 。 Botocore是 Boto3 库(#22)的基础 , 后者让你可以使用 Amazon S3 和 Amazon EC2 一类的服务 。 Botocore 还是 AWS-CLI 的基础 , 后者为 AWS 提供统一的命令行界面 。
S3transfer(#7)是用于管理 Amazon S3 传输的 Python 库 。 它正在积极开发中 , 其介绍页面不推荐人们现在使用 , 或者至少等版本固定下来再用 , 因为其 API 可能发生变化 , 在次要版本之间都可能更改 。 Boto3、AWS-CLI和其他许多项目都依赖s3transfer 。
令人惊讶的是 , 这些针对 AWS 库的排名竟如此之高——这充分说明了 AWS 有多厉害 。
4 Pip
下载次数:6.27 亿
「Python」22 个最常用的Python包
本文插图

我想 , 你们大多数人都知道并且很喜欢 pip , 它是 Python 的包安装器 。 你可以用 pip 轻松地从 Python 包索引和其他索引(例如本地镜像或带有私有软件的自定义索引)来安装软件包 。


推荐阅读