問題タブ [relative-import]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
139410 参照

python - Python 3 を使用して、Jupyter Notebook で相対インポートを使用して、別のディレクトリに格納されているモジュールからローカル関数をインポートします。

次のようなディレクトリ構造があります

notebook.jpynb相対インポートを使用して関数function()にアクセスしようとすると、次のように作業しますmodule.py

次のエラーが表示されます。

相対インポートを使用してこれを機能させる方法はありますか?

ノートブック サーバーはmeta_projectディレクトリのレベルでインスタンス化されるため、これらのファイル内の情報にアクセスできる必要があります。

また、少なくとも元々意図project1されていたのはモジュールとは見なされていなかったため、__init__.pyファイルがなく、ファイルシステムディレクトリとして意図されていたことに注意してください。問題の解決策として、それをモジュールとして扱い、__init__.pyファイル (空のファイルでも) を含める必要がある場合は問題ありませんが、それだけでは問題を解決するには不十分です。

私はこのディレクトリをマシン間で共有し、相対インポートによりどこでも同じコードを使用できます。また、迅速なプロトタイピングにノートブックをよく使用するため、絶対パスを一緒にハッキングすることを含む提案は役に立たない可能性があります。


編集: これは、Python 3 の相対インポートとは異なります。これは、Python 3の相対インポートについて一般的に説明しており、特に、パッケージ ディレクトリ内からスクリプトを実行することについて説明しています。これは、異なる一般的側面と特定の側面の両方を持つ別のディレクトリのローカル モジュールで関数を呼び出そうとする jupyter ノートブック内での作業に関係しています。

0 投票する
1 に答える
3515 参照

python - py2exe での相対インポート エラー

シンプルな Python スクリプトの実行可能ファイルを生成しようとしていました。私の setup.py コードは次のようになります。

ただし、スクリーンショットに示されているエラーが表示されます。これを修正するために何かできることはありますか?Windows 10 を使用しています。

ここに画像の説明を入力

0 投票する
1 に答える
86 参照

python - python -mを実行せずに相対インポートを使用するには?

このようなフォルダがあります

そして、このように親戚のインポートを使用test1したいtest2

開発中test1、またはtest2IDLE にいる間にこれらのインポートが機能するようにしたい場合、つまり、そのF5中で作業中に押すと、たとえばtest2やりたくないので、すべて正常に機能python -m test_mod.sub_mod.test2します。

私はすでにこのpython-relative-imports-for-the-billionth-timeをチェックして います

それを見て、私はこれを試しました:

しかし、それは機能しませんでした。次のエラーが発生しました。

0 投票する
2 に答える
45 参照

python - スクリプトの絶対インポートと相対インポート

この質問が頻繁に寄せられることは承知していますが、インポートに関して非常に具体的な問題があります。次のようなファイル構造があります。

基本的に、ここで起こっていることは、私のプログラム ( main.py) がいくつかの小さなスクリプト ( ) を作成し、temp/それらを実行しようとすることです。ただし、これらのスクリプトはそれぞれ と を参照lib/instructions.pydevice/android.pyます。このコードは、次のファイルを実行します。

すべてのディレクトリに__init__.pyファイルがありますが、これらのファイルはスクリプトであるため、相対インポートを使用できません。これらのライブラリをインポートするにはどうすればよいですか?

0 投票する
0 に答える
248 参照

python - 別のスクリプトで Python モジュールをインポートする

同様の質問が何度も寄せられていますが、まだ解決策が見つかりません。次のような構造の Python プロジェクトがあります (簡易版)。
問題は、インポートmodule1することmyscript.pyです。sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '..'))これまでのところ、の上に書いてきましたmyscript.pyが、これはあまりエレガントではなく、プロジェクトから別のフォルダーにあるスクリプトにモジュールを簡単にインポートできる、私のプロジェクトに最適な構造は何でしょうか。

0 投票する
1 に答える
249 参照

python - Python の相対/絶対インポート (再度)

このトピックは何度か取り上げられていますが、まだパッケージを動作させることができません。状況は次のとおりです。loggingモジュールがログの設定を処理するパッケージを持っています。明らかに、標準ライブラリのmypackage.loggingPython と競合します。logging

ディレクトリの構造:

mypackage.__init__

mypackage.logging

script.py

最後に、これは私が得ているエラーメッセージです:

最後に、標準ライブラリの前mypackage.__init.py__にインポートすると機能することに気付きました。Python PEP8の推奨事項に反しているため、私はそれをしたくありません:mypackage.logginglogging

インポートは次の順序でグループ化する必要があります。

  1. 標準ライブラリのインポート
  2. 関連する第三者輸入
  3. ローカル アプリケーション/ライブラリ固有のインポート

どんな助けでも大歓迎です。

ベン。

PS私はPython 3.5.1を使用しています。

0 投票する
1 に答える
1263 参照

python - 兄弟ディレクトリからの Python クラスのインポート

私のディレクトリ構造/VM/repo/projectは次のとおりです。

getSomething.py

プロジェクト.py

db.py

走ろうとすると

エラーが発生します

トレースバック (最後の最後の呼び出し):
ファイル "scripts/getSomething.py"、4 行目、< モジュール >
から ..classes インポート プロジェクト
ValueError: Attempted relative import in non-package

ここで何が欠けていますか?