大家好,今天给大家盘点10个让工作更效率,编程更有趣的 Python 工具包,一起来了解一下。

1 PrettyErrors

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

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

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

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

# 全局安装
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,突出显示语法的源代码及回溯等等。

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

Rich是跨平台库,适用于Linux、OSX和Windows。安装也很方便。

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框架。

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

Dear PyGui基于及时渲染和GPU来提供高度动态的用户接口,且Dear PyGui是跨平台的,在Windows 10、macOS、Linux甚至是树莓派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研究者发现高维数据中的关联和内在模式,同时采用并行渲染和其他图形化方式来展示信息。

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

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

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

6 Norfair

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

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

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

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

pip install norfair

7 GeoPandas

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

官网的示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

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

  • 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​依赖的模块,包括PyTweening,PyScreeze,PyGetWindow,PymsgBox和MouseInfo,因此只需一行命令,很方便:

pip install pyautogui

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

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

我做了个小示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

9 Plotly

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

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

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

pip install plotly==5.6.0

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

官网示例:

盘点十个让工作效率倍增且有趣的 Python工具包-LMLPHP

10 Emoji

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

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

pip install emoji --upgrade

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

>> import emoji
>> print(emoji.emojize('Python is :thumbs_up:'))
Python is :+1:
>> print(emoji.emojize('Python is :thumbsup:', language='alias'))
Python is :+1:
>> print(emoji.demojize('Python is :+1:'))
Python is :thumbs_up:
>>> print(emoji.emojize("Python is fun :red_heart:"))
Python is fun ❤
09-21 15:46