python - "Source file found twice"错误,mypy>=0.780 在 python 中用于 vscode

标签 python visual-studio-code mypy vscode-python

在我的python项目中,升级后mypy从 0.770 到 0.782 在以前没有类型错误的文件中收到错误:

my_pkg_name\__init__.py: error: Source file found twice under different module names: 'top_pkg.my_pkg_name' and 'my_pkg_name'
Found 1 error in 1 file (checked 1 source file)
我很确定这与 Issue #8944 有关关于 mypy 以及 vscode-python 在打开的文件上执行 mypy 的方式。我尝试添加各种 mypy 标志(例如 --namespace-packages--no-namespace-packages ),但这并没有解决问题。my_pkg_name 包含 __init__.py top_pkg 也是如此.与 mypy==0.770这不是问题。
查看扩展的输出,这是调用 mypy 的方式:
> ~\.virtualenvs\OfflineSystem.38\Scripts\python.exe `
   c:\Users\***\.vscode\extensions\ms-python.python-2020.8.108011\pythonFiles\pyvsc-run-isolated.py mypy `
   --ignore-missing-imports --follow-imports=silent --show-column-numbers `
   d:\***\top_pkg\my_pkg_name\sub_pkg\my_file.py
是否应该更改 mypy 相关的 vscode 设置中的某些内容才能使其正常工作?

最佳答案

我有一个类似的问题,但不是通过 VSCode。我的解决方法是删除 __init__.py来自通过将其添加到 MYPYPATH 来包含的目录中的文件,因此实际上并未被视为模块(因此它不应该真正具有 __init__.py 文件)。
您说您尝试添加 --namespace-packages标志,但我认为您需要 --no-namespace-packages禁用可能导致您的问题的新检查器。

关于python - "Source file found twice"错误,mypy>=0.780 在 python 中用于 vscode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63871252/

相关文章:

python - 从 Pylons 调用的 Process() 创建一个 fork

python - 在 python 中解析 json 文件会造成困难

python - 在 pandas 数据框中创建增量数字列

visual-studio-code - 有什么方法可以更改 VSCode 中仅注释代码的字体系列?

python - Mypy 列表阴影

python - 从另一个通用 lambda 参数推断通用 lambda 参数

python - 对 paramiko 和 pycrypto 有一个奇怪的问题

scroll - 如何在 Visual Studio 代码中禁用水平滚动?

python - 为什么这个高阶函数不通过 mypy 中的静态类型检查?

firebase - 带有 VScode 的 Firebase 智能感知