python实用工具

python实用工具
最新回答
花寂月

2021-06-03 02:00:42

Python实用工具根据功能分类整理如下

环境管理
  • 版本管理

    pyenv:简单的Python版本管理工具,支持多版本切换。

    非常简单的交互式Python版本管理工具(名称未明确,需确认具体工具)。

  • 虚拟环境

    virtualenv:创建独立的Python环境,隔离依赖。

    virtualenvwrapper:virtualenv的扩展,简化虚拟环境操作(如workon、mkvirtualenv)。

    Vex:在虚拟环境中直接执行命令,无需手动激活。

    conda:跨平台二进制包管理工具,支持Python及非Python依赖(如科学计算库)。

  • 隔离构建

    buildout:通过声明式配置管理隔离环境,适用于复杂项目初始化。

包管理
  • 基础工具

    pip:Python官方包管理工具,安装/卸载依赖。

    pip-tools:生成并更新requirements.txt,确保依赖一致性。

    PyPI:Python官方第三方包仓库,提供下载服务。

  • 高级工具

    pipenv:官方推荐工具,集成pip+virtualenv,支持Pipfile锁定依赖。

    poetry:替代setup.py的包管理工具,简化依赖声明与发布流程。

    Curdling:命令行包管理工具,支持快速安装。

    wheel:Python分发新标准,替代eggs,加速安装。

  • 本地仓库

    devpi:PyPI镜像与本地缓存服务,支持私有包管理。

    localshop:本地PyPI服务,自动镜像PyPI并托管自定义包。

    bandersnatch:PyPA官方提供的PyPI镜像同步工具。

分发与打包
  • 可执行文件

    PyInstaller:跨平台打包工具,生成独立执行文件(含依赖)。

    cx_Freeze:将Python脚本转换为带动态链接库的可执行文件。

    Nuitka:将脚本编译为C扩展或独立可执行文件,提升性能。

    shiv:构建包含所有依赖的独立ZIP应用(PEP 441标准)。

  • 平台特定工具

    py2app(Mac OS X)、py2exe(Windows):将脚本打包为平台特定安装包。

    pynsist:创建Windows安装程序,可打包Python解释器。

  • 加密与保护

    pyarmor:加密Python脚本,支持绑定硬件或设置有效期。

构建工具
  • 通用构建

    buildout:从多组件构建、组装和部署应用,支持复杂项目。

    SCons:软件构建工具,通过脚本定义构建流程。

  • 嵌入式与跨平台

    BitBake:针对嵌入式Linux的make替代工具。

    PlatformIO:多平台构建工具,支持物联网开发。

  • 持续集成

    PyBuilder:纯Python实现的持续化构建工具,支持自动化测试。

交互式解析器
  • 增强工具

    IPython:功能丰富的交互式解析器,支持自动补全、内联绘图。

    bpython:界面友好的解析器,提供语法高亮与代码补全。

    ptpython:基于prompt_toolkit的高级解析器,支持多行编辑。

  • 笔记本环境

    Jupyter Notebook:交互式计算环境,支持代码、文本、可视化混合编排。

文件管理
  • 路径操作

    pathlib(Python 3.4+标准库):面向对象的跨平台路径操作。

    path.py:对os.path的封装,提供更简洁的API。

  • 文件监控与抽象

    watchdog:监控文件系统事件,触发自定义操作。

    PyFilesystem2:文件系统抽象层,支持云存储等虚拟文件系统。

  • 类型检测

    python-magic:基于libmagic的文件类型检测库。

    imghdr(标准库):检测图片类型。

日期与时间
  • 核心库

    arrow:简化日期时间操作,支持时区与本地化。

    pendulum:更明确的时间操作库,替代arrow。

    dateutil:扩展datetime模块,支持解析、时区计算。

  • 时区处理

    pytz:引入时区数据库,支持跨平台时区计算。

    delorean:解决日期处理中的棘手问题(如闰秒)。

文本处理
  • 编码与格式

    chardet:自动检测文本编码(兼容Python 2/3)。

    unidecode:将Unicode文本转换为ASCII形式。

  • 字符串操作

    thefuzz:模糊字符串匹配,支持相似度计算。

    pangu.py:在中日韩字符与字母间添加空格,提升可读性。

  • 解析与生成

    Pygments:通用语法高亮工具,支持多种语言。

    pyparsing:生成自定义解析器的框架。

特殊格式处理
  • Office文档

    openpyxl:读写Excel 2010+文件(.xlsx)。

    python-docx:操作Word 2007+文档(.docx)。

    python-pptx:创建与修改PPT文件。

  • PDF处理

    PyPDF2:分割、合并、转换PDF页面。

    ReportLab:动态生成富文本PDF文档。

  • Markdown

    Mistune:快速纯Python实现的Markdown解析器。

    Python-Markdown2:更快的Markdown解析器,支持扩展。

自然语言处理
  • 中文处理

    jieba:中文分词工具,支持精确/全模式。

    pkuseg-python:领域自适应中文分词工具箱。

  • 通用工具

    NLTK:自然语言处理平台,提供分词、词性标注等功能。

    spacy:工业级NLP库,支持命名实体识别、依赖解析。

文档生成
  • 静态生成

    Sphinx:Python官方文档生成器,支持reStructuredText。

    MkDocs:基于Markdown的文档生成器,适合项目文档。

  • 在线托管

    Read the Docs:免费托管Sphinx/MkDocs文档,支持自动化构建。

配置管理
  • 文件格式

    ConfigObj:INI文件解析器,支持验证与嵌套配置。

    PyYAML:YAML格式解析与生成工具。

  • 环境隔离

    python-decouple:将配置与代码分离,支持.env文件。

    hydra:配置复杂应用的框架,支持动态覆盖与组合。

命令行工具开发
  • 基础框架

    click:通过装饰器创建命令行界面,支持自动帮助生成。

    cement:功能全面的命令行框架,支持插件扩展。

  • 高级功能

    Gooey:将命令行程序转换为GUI应用,仅需一行代码。

    docopt:根据文档字符串自动解析命令行参数。

以上工具覆盖了Python开发的全生命周期,可根据具体需求选择合适的工具组合。