在 VSCode 中安装 mypy 时出现问题

问题描述 投票:0回答:8

我正在尝试在 MacOS 上的 Visual Studio Code 版本 1.53 中安装 mypy linter。我以前从未使用过 linter,所以我不确定会发生什么,尽管我知道它应该突出显示类型错误等。我正在尝试让 mypy 在 Django 应用程序的上下文中工作。

我按照这些步骤并重新启动了 VS Code 几次,但说明似乎不起作用。我还完成了设置以确保启用 mypy linting,甚至尝试将

Python > Linting: Mypy Path
设置更改为执行
which mypy
时返回的完整路径;这也不起作用。

最后,我从 VS Code 市场安装了这个包:Mypy。我通过 VS Code 中的市场安装了它,并按照说明中的虚拟环境说明进行操作。

django-stubs
mypy
均已安装,并且我按照上面 PyPI 文档中的建议配置了
mypy.ini
文件。

我收到以下错误:

运行 mypy 时出错:mypy.ini:2:1:错误:导入插件“mypy_django_plugin.main”时出错:没有名为“mypy_django_plugin”的模块

如何修复此错误?

python visual-studio-code vscode-extensions typechecking linter
8个回答
15
投票

在 VS Code 中,“mypy”是 python 代码分析工具之一,我们通常安装和使用它如下:

  1. 安装它。 (

    pip install mypy
    )

    检查安装情况:(

    pip show mypy
    )

  2. 选择“mypy”:(

    F1
    ,
    Python: Select Linter
    ,
    mypy
    )

  3. 运行“mypy”:(

    F1
    ,
    Python: Run Linting
    )

其功效:

参考:VS Code 中的 Linting


3
投票

VSCode 要求您输入

dmypy
的路径,即 mypy 守护进程。安装 mypy 后(例如通过
conda install -c conda-forge mypy
),您可以使用
which dmypy
找到此路径,然后在 VSCode 中输入该路径。


2
投票

我刚刚将 Mypy 扩展安装到 VSCode,如下所示,如果

Install Release Version
不起作用,请单击
Install Pre-Release Version
。 *我在 Windows 11 上使用 Anaconda

然后就可以正常使用了,如下图:


1
投票

我在加载 mypy 插件时遇到了同样的问题。 (使用 conda 环境)。当我从终端启动 vscode 并激活正确的 python 环境时,问题就解决了

conda activate my-env
cd my/vs-code/project/dir
code .

希望这有帮助


0
投票

mypy 通过

~/.mypyls
运行,这是一个 virtualenv,需要在其中安装插件以便 mypyls 找到它们。

要将

mypy_django_plugin
放入其中:

cd ~/.mypyls
. bin/activate
pip install django-stubs

0
投票

添加之前的答案,要启用 Mypy,还需要

  • 打开“用户设置”
  • 搜索 Mypy 已启用

0
投票

转到设置,搜索“mypy.runUsingActiveInterpreter”并选中该框。

或者您全局安装 mypy“pip install mypy”,即安装到您的主 Python 环境。


0
投票

注意:此答案假设您希望全局安装 mypy python 模块。如果您在本地安装 mypy 模块,例如在虚拟环境中,解决方案可能会有所不同。 TL;博士

首先在任何终端中使用

pip install mypy

全局安装 mypy 模块

如果 Matan Gover 制作的原始 mypy 扩展仍然无法为您工作:检查 

mypy

命令在您手动使用时是否有效。

PowerShell 中用于测试 mypy 在手动运行时是否工作的示例命令

mypy path/to/any/python/file

如果您没有收到任何错误并且扩展程序仍然无法工作,那么遗憾的是本指南无法帮助您。

如果您在手动使用 mypy 命令时遇到错误,您可以阅读以下我如何解决错误的指南

我如何解决我的错误

我的问题是,当我安装 VSCode 上 Matan Gover 的原始 mypy 扩展时,它对我不起作用。 VSCode 的“问题”选项卡中没有任何建议。

我有两个问题:

    我什至没有安装 mypy 模块。于是我就跑了
  1. pip install mypy

    
    

  2. 后来我发现,当我尝试通过
  3. mypy path/to/a/python/file

    控制台命令手动运行mypy时,我得到了这样的响应:

    启动器中的致命错误:无法使用“C:\Program Files\Python311\python.exe”“C:\Users\Jacob\AppData\Roaming\Python\Python11\Scripts\mypy.exe”main.py 创建进程': 系统找不到指定的文件'

  4. 仔细阅读错误文本几次后,我意识到它出于某种原因尝试使用Python 3.11。但我没有安装Python 3.11!

我不知道为什么要使用 python 3.11。我刚刚从 python 网站下载了 python 3.11,现在扩展可以工作了。

可能还有其他一些不涉及安装第二个Python解释器的解决方案,但这工作正常

© www.soinside.com 2019 - 2024. All rights reserved.