1. ホーム
  2. python

[解決済み] PyDevの "Undefined variable from import "エラーを修正するにはどうすればよいですか?

2022-05-18 05:23:54

質問

EclipseでPyDevを使用してPythonプロジェクトを持っていますが、PyDevは私のコードに対して誤ったエラーを生成し続けています。 私はモジュール settings を定義している settings オブジェクトを定義しています。 モジュールでそれをインポートして b で属性を割り当てます。

from settings import settings
settings.main = object()

私のコードの一部では--すべてではありませんが--、次のような記述があります。

from settings import settings
print settings.main 

... コードが問題なく実行されているにもかかわらず、Eclipseのコードエラーペインに"Undefined variable from import: main"のメッセージが表示されます。 どのようにこれらを修正すればよいのでしょうか?

どのように解決するのですか。

プロジェクト内のコードについては、唯一の方法は、あなたがそれを期待しているという宣言を追加することです。 if False で保護することです (静的コード解析は実行時の情報ではなく、あなたが見たものだけを見ます。あなたが自分でそのモジュールを開いた場合、main が期待されたことを示すものはないでしょう)。

これを克服するために、いくつかの選択肢があります。

  1. もしそれが外部モジュールであれば、それを forced builtins に追加して、PyDev が実行時情報を取得するためにそのためのシェルを起動するようにできます ( http://pydev.org/manual_101_interpreter.html を参照) -- すなわち、たいていの場合、PyDev はシェルでモジュールをインポートして dir(module)dir を追加して、補完を表示し、コード解析を行うことができます。

  2. エラーのある行で Ctrl+1 (Mac では Cmd+1) を押すと、PyDev はそのエラーを無視するためのコメントを追加するオプションを表示します。

  3. を作成することが可能です。 stub モジュールに追加し、それを predefined のコンプリート ( http://pydev.org/manual_101_interpreter.html にもその詳細があります)。