猿创征文 | 盘点10个冷门Python库,原来Python还能实现这些功能?

Posted Mr.Winter`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猿创征文 | 盘点10个冷门Python库,原来Python还能实现这些功能?相关的知识,希望对你有一定的参考价值。

目录

👉 1 PrettyErrors

PrettyErrors是一款可以让Python抛出的异常变得通俗易懂的强大工具。

官网的示例:


可以看出,出错的文件、所在行、所在函数或模块都被用不同的颜色标记出来,比起左边密密麻麻、眼花缭乱的错误提示,显然是优化过的提示更人性化!

这个工具有两种安装方式:

  • 全局安装
    python -m pip install pretty_errors
    
  • 局部项目使用
    import pretty_errors
    pretty_errors.configure(
     separator_character = '*',
     filename_display    = pretty_errors.FILENAME_EXTENDED,
     line_number_first   = True,
     display_link        = True,
     lines_before        = 5,
     lines_after         = 2,
     line_color          = pretty_errors.RED + '> ' + pretty_errors.default_config.line_color,
     code_color          = '  ' + pretty_errors.default_config.line_color,
     truncate_code       = True,
     display_locals      = True
     )
     pretty_errors.blacklist('c:/python')
    

👉 2 Rich

Rich是一个可以为终端提供富文本和精美格式的 Python 库,利用Rich API可以很容易的在终端输出添加各种颜色和不同风格。Rich还可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等等。

官网的示例:

Rich是跨平台库,适用于LinuxOSXWindows。安装也很方便

python -m pip install rich

博主试着用了下这个库,下面是测试案例,体验拉满~。

from rich.console import Console
console = Console()

test_data = [
    "专业": "模式识别与智能系统", "学科": "人工智能", "params": [None, 1, 2, 4, False, True], "id": "1",,
    "专业": "模式识别与智能系统", "学科": "深度学习", "params": [7],
    "专业": "模式识别与智能系统", "学科": "机器视觉", "params": [42, 23], "id": "2",
]

def test_log():
    enabled = False
    context = 
        "天气": "阴",
    
    movies = ["误杀2", "江照黎明"]
    console.log("Hello from", console, "!")
    console.log(test_data, log_locals=True)

test_log()

👉 3 Dear PyGui

Dear PyGui是一个易于使用但功能强大的非终端Python GUI框架。

官网的示例:


Dear PyGui基于及时渲染和GPU来提供高度动态的用户接口,且Dear PyGui是跨平台的,在Windows 10macOSLinux甚至是树莓派Raspberry Pi 4上都能使用;安装起来也相当简单:

pip install dearpygui
or
pip3 install dearpygui

👉 4 HummingBird

HummingBird是微软推出的一款人工智能库,可以将传统人工智能模型编译成张量计算,了解深度学习框架,如Tensorflow、Pytorch的同学一定知道张量的重要性。

HummingBird允许用户几乎无缝地使用各种深度学习框架来加速机器学习模型,基于HummingBird有很多好处:

  • 所有当前或将来在神经网络框架中的优化都会被引入;
  • 硬件加速;
  • 提供独一无二的统一平台来支持所有传统机器学习模型和深度学习;
  • 无需重建模型

总之,HummingBird把深度学习的入门门槛又大大降低了。

HummingBird库的一行安装代码如下:

pip install hummingbird-ml

👉 5 HiPlot

HiPlot是微软推出的用于分析人工智能高维数据的库。

HiPlot是一个轻量级交互式可视化工具,用来帮助AI研究者发现高维数据中的关联和内在模式,同时采用并行渲染和其他图形化方式来展示信息。

官网的示例:

HiPlot库的一行安装命令如下:

pip install -U hiplot  # Or for conda users: conda install -c conda-forge hiplot

👉 6 Norfair

Norfair是一个轻量级平面物体跟踪Python库。

使用Norfair,你可以仅用几行代码就赋予任何检测算法目标跟踪的能力。

官网的示例:

Norfair库的一行安装命令如下:

pip install norfair

👉 7 GeoPandas

GeoPandas是用来处理地理空间数据的工具库,不仅完美融合了pandas数据类型,还提供了操作地理空间数据的高级接口。

官网的示例:


这个库的安装相对复杂,需要具备以下依赖:

  • numpy
  • pandas (version 1.0 or later)
  • shapely (interface to GEOS; version 1.7 or later)
  • fiona (interface to GDAL; version 1.8 or later)
  • pyproj (interface to PROJ; version 2.6.1 or later)
  • packaging

安装好依赖项后即可运行安装命令,如下:

pip install pygeos

👉 8 PyAutoGUI

PyAutoGUI是一个跨平台GUI自动化Python模块。用于以编程方式控制鼠标和键盘。可以让计算机完成你所设计的自动控制任务,解放你的双手

安装时会自动安装PyAutoGUI依赖的模块,包括PyTweeningPyScreezePyGetWindowPymsgBoxMouseInfo,因此只需一行命令,很方便:

pip install pyautogui

应用时也有很多封装好的API,例如

# 将鼠标光标移动到(200,300)
pyautogui.moveTo(200,300)
# 将鼠标光标移动到(400,500)
pyautogui.moveTo(400,500)

我做了个小示例:

👉 9 Plotly

Plotly是一个交互式的、开源的、基于浏览器的Python图形库,提供了30多种图表类型,包括

  • 科学图表
  • 3D图表
  • 统计图表
  • SVG地图
  • 金融图表

Plotly库的一行安装命令如下:

pip install plotly==5.6.0

需要注意的是plotly是建立在jupyter notebook上的,所以需要在jupyter notebook中导入这两个包,而不能使用VSCode

官网示例:

👉 10 Emoji

Emoji是个很有意思的Python库,事实上Unicode联盟支持一整套表情符号代码,Emoji库就提供了打印表情符号的Python接口,使编程更有趣。

Emoji库的一行安装命令如下:

pip install emoji --upgrade

看看Emoji库打印表情符号的效果:

>> import emoji
>> print(emoji.emojize('Python is :thumbs_up:'))
Python is 👍
>> print(emoji.emojize('Python is :thumbsup:', language='alias'))
Python is 👍
>> print(emoji.demojize('Python is 👍'))
Python is :thumbs_up:
>>> print(emoji.emojize("Python is fun :red_heart:"))
Python is fun ❤

🔥 更多精彩专栏


👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

以上是关于猿创征文 | 盘点10个冷门Python库,原来Python还能实现这些功能?的主要内容,如果未能解决你的问题,请参考以下文章

猿创征文 | Linux运维工程师的10个日常使用工具分享

猿创征文|Python学习工具千千万,我心中的TOP10

猿创征文|[自己做个游戏服务器三]将二进制流转换为具体的 protobuf消息

猿创征文|[自己做个游戏服务器三]将二进制流转换为具体的 protobuf消息

猿创征文|[自己做个游戏服务器三]将二进制流转换为具体的 protobuf消息

猿创征文Vue3 企业级优雅实战 - 组件库框架 - 7 组件库文档的开发和构建