使用 vscode 的 python 扩展时 mypy 速度很慢

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

在 vscode 中启用 mypy 时(

"python.linting.mypyEnabled": true,
), 那么任何手动 mypy 命令都会变得非常慢并且占用 CPU 资源(之前 10 秒,之后 3 分钟)。

看起来两个 mypy 进程应该是独立的,甚至可以通过缓存互相帮助,但它们似乎互相妨碍。

我注意到,从干净的环境来看,这种情况有一段时间不会发生。只有在 vscode 运行 mypy 之后,手动 mypy 命令才会变慢,即使 vscode 不再运行也是如此。

我能找到的唯一相关问题是this

python visual-studio-code mypy
2个回答
4
投票

我发现让 vscode 使用不同的缓存目录可以解决该问题。考虑添加例如以下内容给您的

settings.json

"python.linting.mypyArgs": [
    "--cache-dir=.mypy_cache/.vscode"
],

奖励:通过保留在默认目录 (

mypy_cache
) 中,第二个缓存目录将被
git
忽略。


1
投票

我曾经也遇到过缓慢和内存消耗的问题

mypy
。我猜测这可能是因为 VSCode 正在尝试索引一个相当大的
mypy_cache
。我将缓存添加到
"files.exclude"
"python.linting.ignorePatterns"
部分的设置中,效果变得更好。将您拥有的任何其他缓存添加到这些部分也很有用:
pycache
pytest_cache

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