首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >vscode中python中的“源文件发现两次”mypy>=0.780错误

vscode中python中的“源文件发现两次”mypy>=0.780错误
EN

Stack Overflow用户
提问于 2020-09-13 13:18:32
回答 1查看 5.6K关注 0票数 11

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

代码语言:javascript
运行
复制
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)

我确信这与mypy上的第8944期以及vscode-python在打开的文件上执行mypy的方式有关。我尝试过添加各种类型标志(例如--namespace-packages--no-namespace-packages),但这并没有解决问题。

my_pkg_name 确实包含__init__.pytop_pkg也包含__init__.py。对于mypy==0.770来说,这不是一个问题。

查看扩展的输出,这就是mypy的调用方式:

代码语言:javascript
运行
复制
> ~\.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

应该更改与类型相关的vscode设置中的某些内容才能工作吗?

EN

Stack Overflow用户

回答已采纳

发布于 2020-11-09 17:11:09

我也有过类似的问题,但不是通过VSCode。在我的示例中,修复方法是通过将__init__.py文件添加到MYPYPATH中,从包含的目录中删除它,因此实际上并没有将它作为一个模块来处理(因此它不应该真正拥有__init__.py文件)。

您说您尝试添加--namespace-packages标志,但我认为您需要--no-namespace-packages来禁用可能导致问题的新检查器。

票数 7
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63871252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档