Sta*_*tav 6 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)
Run Code Online (Sandbox Code Playgroud)
我很确定这与mypy上的问题 #8944以及 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
Run Code Online (Sandbox Code Playgroud)
是否应该更改与 mypy 相关的 vscode 设置中的某些内容才能使其正常工作?
dsh*_*erd 26
我也遇到过类似的问题,但不是通过 VSCode 解决的。在我的例子中,修复方法是通过__init__.py将文件添加到 MYPYPATH 来从包含的目录中删除文件,因此实际上并未将其视为模块(因此它不应该真正拥有该文件__init__.py)。
您说您尝试添加该--namespace-packages标志,但我认为您需要--no-namespace-packages禁用可能导致您的问题的新检查器。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |