[解決済み] Python で importlib.import_module を使ってモジュールをインポートする方法
2022-03-07 07:59:49
質問
を使おうとしています。
importlib.import_module
をPython 2.7.2で実行すると、奇妙なエラーに遭遇します。
次のようなdir構造を考えてみましょう。
a | + - __init__.py - b | + - __init__.py - c.py
a/b/__init__.py
は以下のようなコードになっています。
importlib mod = importlib.import_module("c")
(実際のコードでは
"c"
は名前を持つ)
を試してみてください。
import a.b
は、次のようなエラーを発生させます。
>>> import a.b トレースバック (最も最近の呼び出し): ファイル "", 行 1, in ファイル "a/b/__init__.py", 行 3, in mod = importlib.import_module("c") ファイル "/opt/Python-2.7.2/lib/python2.7/importlib/__init__.py", 行 37, in import_module __import__(name) ImportError: c という名前のモジュールはありません。
何が足りないのでしょうか?
ありがとうございます。
解決方法は?
相対インポートの場合は、以下のようになります。
- a) 相対名を使用する
-
b) 明示的にアンカーを提供する
importlib.import_module('.c', 'a.b')
もちろん、代わりに絶対的なインポートを行うこともできます。
importlib.import_module('a.b.c')
関連
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python jiabaライブラリの使用方法について説明
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] __init__.py は何のためにあるのですか?