pyright 的命令行包装器
项目描述
Python 的 Pyright
此项目不以任何方式、形式或形式与 Microsoft 有关联
Pyright for Python 是 pyright 的 Python 命令行包装器,pyright是 Python的静态类型检查器。
安装
使用包管理器pip安装 pyright。
pip install pyright
用法
可以使用两种不同的方法调用 Pyright
pyright --help
或者
python3 -m pyright --help
Pyright for Python 应该与 pyright 完全相同,请参阅pyright 文档了解如何使用 pyright 的详细信息。
预提交
您还可以通过设置预提交.pre-commit-config.yaml并在文件中注册 pyright来设置 pyright 在每次提交之前自动运行
repos:
- repo: https://github.com/RobertCraigie/pyright-python
rev: v1.1.237
hooks:
- id: pyright
Pre-commit 将在其自己的虚拟环境中安装 pyright-python,这可能导致 pyright 无法检测到您安装的依赖项。
要解决此问题,您可以告诉 pre-commit也安装这些依赖项,或者通过更新pyright 配置文件明确告诉 pyright 要使用哪个虚拟环境:
[tool.pyright]
# ...
venvPath = "."
venv = ".venv"
动机
Pyright是用 TypeScript 编写的,需要安装 node,一般用 npm 安装。这可能是一些 Python 开发人员的入门障碍,因为他们的机器上可能没有安装 node 或 npm;我想让 pyright 像任何普通的 Python 包一样易于安装。
Pyright for Python 的工作原理
该项目首先检查节点是否在PATH. 如果不是,那么我们在运行时使用nodeenv下载节点,然后使用npx.
我们还会在每次运行时自动将 pyright npm 包升级到其最新版本,请参阅下文了解如何更改此行为。
自动更新 pyright
默认情况下,Pyright for Python 设置为针对特定的 pyright 版本,每当发布新的 pyright 版本时,都会自动创建新版本。强烈建议使用自动依赖更新工具,例如dependabot。
如果您不想在每次创建新的 pyright 版本时都更新您的安装,那么您可以通过将环境变量设置PYRIGHT_PYTHON_FORCE_VERSION为latest.
配置
您可以使用环境变量为 Python 配置 Pyright。
调试
设置PYRIGHT_PYTHON_DEBUG为任何值。
修改 Pyright 版本
设置PYRIGHT_PYTHON_FORCE_VERSION为所需的版本,例如1.1.156,latest
显示 NPM 日志
默认情况下,Pyright for Python 禁用 npm 错误消息,如果要显示 npm 错误消息,则设置PYRIGHT_PYTHON_VERBOSE为任何真实值。
强制节点环境
设置PYRIGHT_PYTHON_GLOBAL_NODE为任何非真实值,即除 1、t、on 或 true 之外的任何值。例如off
修改节点环境位置
设置PYRIGHT_PYTHON_ENV_DIR为有效的nodeenv目录。例如~/.cache/nodeenv
忽略警告
设置PYRIGHT_PYTHON_IGNORE_WARNINGS为真值,例如 1、t、on 或 true。
Pyright for Python 将为以下情况打印警告
- 在没有 bash的情况下使用nodeenv
禁用 NPX 版本检查
默认情况下,Pyright for Python 检查已解析npx二进制文件的版本,在某些情况下,这可能会导致错误。
如果您遇到这种情况,那么您可以通过将环境变量设置PYRIGHT_PYTHON_IGNORE_NPX_CHECK为任何真实值(例如 1、t、on 或 true)来禁用版本检查。
贡献
欢迎所有拉取请求。