python / python/mypy

New semantic analyzer: Namespace package with __init__.py breaks analysis

オープン
#7,029 コメント 19 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug false-positive needs discussion semantic-analyzer topic-usability
主要言語
Python
スター
20.6k
フォーク
3.3k
PR マージ指標
PR 指標を取得中

説明

I'm getting a lot of errors reported that are not errors.

  • Classes are reported as invalid types
  • Calls to methods are reported as modules not having those attributes
  • Instances of classes are reported as modules not callable
  • Types passed to, e.g., isinstance are reported as incompatible type Module (suggests that all custom types are treated as type Module)
  • Base classes are reported as invalid base classes
  • Calls to instances of classes are reported as not having the specified attributes
  • Package imports in __init__.py are reported as already defined

I am not sure whether these are issues are caused by the new semantic analyzer or by the Mypy plugin for PyCharm which has not been updated yet.

In comparison, with the new semantic analyzer disabled, there are no errors. The application works correctly.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

この issue ではファイルもテストも指定されていません。まず、init.py を含む namespace package を使って報告された false positive を再現し、新しい semantic analyzer と、それを無効にした場合を比較し、PyCharm plugin の違いを考慮してください。再現環境で、一覧にある class、method、instance、inheritance、package import のエラーが報告されなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
compilers
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。