問題タブ [python-importlib]
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.
python - Python モジュールを (別のパスから) インポートし、デフォルトとして使用する
別のパスにある requests モジュールをインポートしたい。以下のコードを使用したい。また、モジュールがインストールされている requests ディレクトリには、他のファイルがたくさんあることがわかりました。これは何のために必要ですか。
以下は、/Requests dir の内容の一部です。
……
以下の質問には素晴らしい答えがありますが、それでも私を混乱させます。
python - フラスココントローラで importlib を正しく使用するには?
いくつかの設定に従ってモジュールをロードしようとしています。実用的なソリューションを見つけましたが、高度な Python 開発者から、このソリューションを使用する API エンドポイントが高負荷になるため、このソリューションが最適なパフォーマンスであることを確認する必要があります。
アイデアは、ユーザーおよび他のシステム構成からのパラメーターに基づいてエンドポイントの動作を変更することです。これらの設定に基づいて、正しいハンドラー クラスをロードしています。目標は、ハンドラーを呼び出すコードを変更することなく、新しいハンドラーを簡単に作成できるようにすることです。
これは実用的な例です:
./run.py :
「単純な」ハンドラーの例。ハンドラーは、ハンドラー クラスを定義する必要があるモジュールです。
./handlers/simple.py :
私の理解が正しければ、インポートはエンドポイントへのクエリごとに行われます。これは、モジュールのルックアップを伴うファイルシステム内の IO を意味します...
この戦略を実装するのは正しい/「pythonic」な方法ですか?
python - from x import * のような場合に importlib を使用する
importlib
以前に次のようにインポートされたモジュールを動的にリロードするために使用するにはどうすればよいですか:
ドキュメントには、次のような単純なインポートの例が示されています。
なので
バージョン: Python 3.4
python - Google AppEngine 動的読み込み、ImportError: pip._vendor.requests.status_codes という名前のモジュールがありません
__import__ を使用してある種の動的クラス読み込みを実装しようとすると、次のエラーが発生します ...:
... または importlib.import_module :
もちろん importlib をインポートします。
プログラムをテストするために Google AppEngine サーバーにデプロイします (実稼働 URL と開発 URL があります)。
コードは次のとおりです。
パラメータの内容:
Googleで同様のエラーを見つけることができませんでした、
この複雑なソリューションで自分の裏をかくために時間を無駄にしていないのではないかと今は思います...
名前をpythonクラスに関連付ける簡単な辞書を使用する必要がありますか?
python - imp.new_module() の Python importlib の類似物
PyCharm は、imp が非推奨であることを示しているので、importlib の imp.new_module の類似物があるかどうか疑問に思います。
python - 別のパッケージからの Importlib import_module
次のようなディレクトリ構造があります。
には、から継承subclass.py
するクラスがあります。では、次のように定義されているを呼び出します。Subclass
Superclass
Subclass.__init__
self.register("subclass", ["a", "b"])
Superclass
subclass.py
以下も含まれます:
を実行するpython subclass/subclass.py
と、すべてが期待どおりに機能します。モジュールa
とb
インポートされ、register
各モジュールのすべての機能が正しく実行されます。
ではtest_subclass
があり、コンストラクターfrom subclass.subclass import Subclass
を呼び出します。Subclass
ただし、実行するpy.test
とエラーが発生しますImportError: No module named b
。モジュールは正常にインポートされa
ますが、b
モジュールは失敗します。
インポート ( の順序を逆にしてみself.register("subclass", ["b", "a"])
ましたが、それでもb
.
Modulea
にはmodule よりも多くのimport ステートメントがありb
(ディレクトリ図には表示されていない他のファイルがあります)、 のすべての import を に追加すると、同じように失敗しa
ますb
。
これはモジュールを動的にインポートする正しい方法ですか? もしそうなら、私は何かが欠けていますか?そうでない場合、間違った引数を に渡していますimport_module
か?
注、私はpython 2.7を使用しています。