← 返回
数据分析

LSP Python

Python code quality checking and LSP integration using pylsp. Provides code diagnostics, completion, hover tips, and style analysis. Use when: checking Pytho...
利用 pylsp 进行 Python 代码质量检查与 LSP 集成。提供代码诊断、补全、悬停提示及风格分析。适用于检查 Python 代码质量、获取补全建议及风格优化。
genify
数据分析 clawhub v1.1.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 2,083
下载
💾 8
安装
1
版本
#latest

概述

LSP Python 技能

使用 Python Language Server Protocol (LSP) 进行代码质量检查和智能分析。

快速开始

1. 检查代码问题

# 单个文件
python3 scripts/lsp-service.py check <文件路径>

# 批量检查 (推荐)
python3 scripts/check_python.py <文件或目录>

# 批量检查并自动修复
python3 scripts/check_python.py --auto-fix <文件或目录>

示例:

python3 scripts/lsp-service.py check my_script.py
python3 scripts/check_python.py src/
python3 scripts/check_python.py --auto-fix src/

2. 获取代码补全

python3 scripts/lsp-service.py complete <文件> <行号> <字符位置>

3. 查看符号信息

python3 scripts/lsp-service.py info <文件> <行号> <字符位置>

依赖

  • Python 3.x
  • pylsp: pip install python-lsp-server
  • 可选插件:
  • pip install python-lsp-server[all] - 完整插件集
  • pip install pylsp-mypy - 类型检查
  • pip install pylsp-black - black 格式化

核心功能

代码诊断 (check)

检查 Python 文件中的错误和警告:

  • pyflakes - 代码错误检测 (未使用导入、未定义变量等)
  • pycodestyle - PEP8 风格检查 (格式、行长、空白等)

输出示例:

⚠️ 第 3 行 [pyflakes]: 'os' imported but unused
⚠️ 第 6 行 [pycodestyle]: E302 expected 2 blank lines, found 1
✅ 没有发现问题

代码补全 (complete)

获取指定位置的代码补全建议:

python3 scripts/lsp-service.py complete script.py 5 10

输出:

补全建议:
  • json (模块)
  • jsonpatch (模块)
  • requests (模块)

悬停提示 (info)

查看函数签名、文档字符串等信息:

python3 scripts/lsp-service.py info script.py 10 5

跳转定义 (goto)

查找符号的定义位置:

python3 scripts/lsp-service.py goto script.py 15 10

自动修复代码问题

清理未使用的导入

pip install autoflake
autoflake --remove-all-unused-imports --in-place --recursive .

格式化代码

pip install black
black .

完整修复流程

# 1. 备份
cp -r project/ project.backup

# 2. 清理导入
autoflake --remove-all-unused-imports --in-place --recursive project/

# 3. 格式化
black project/

# 4. 验证
python3 scripts/lsp-service.py check project/main.py

诊断严重性级别

级别代码含义
------------------
1Error (错误)
⚠️2Warning (警告)
ℹ️3Information (信息)
💡4Hint (提示)

常见问题代码

代码含义修复方法
----------------------
E402导入不在文件顶部移动导入到文件开头
E501行太长 (>79 字符)拆分长行或使用括号
W293空行包含空白字符删除行尾空格
E302缺少空行函数/类定义前加 2 个空行
E712布尔比较风格if x is Trueif x

在 OpenClaw 中使用

exec: python3 /path/to/lsp-python/scripts/lsp-service.py check <file>

批量检查项目

# 检查所有 Python 文件
find . -name "*.py" -exec python3 scripts/lsp-service.py check {} \;

# 仅显示有问题的文件
for f in $(find . -name "*.py"); do
  result=$(python3 scripts/lsp-service.py check "$f" 2>&1)
  if ! echo "$result" | grep -q "✅ 没有发现问题"; then
    echo "=== $f ==="
    echo "$result"
  fi
done

参考资料

  • LSP 协议详解: 见 references/lsp-protocol.md
  • pylsp 配置: 见 references/pylsp-config.md
  • 代码风格指南: 见 references/pep8-guide.md

故障排除

pylsp 无法启动

# 检查安装
which pylsp
pylsp --version

# 重新安装
pip install --upgrade python-lsp-server

检查超时

增加脚本中的 LSP_TIMEOUT 值 (默认 10 秒)。

中文字符问题

确保文件使用 UTF-8 编码,脚本已设置 ensure_ascii=False

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-29 02:39 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 165 📥 59,994
data-analysis

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 270 📥 56,959
data-analysis

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 368 📥 140,435