[解決済み] モジュールに属性がない
2022-01-19 02:36:54
質問
ディレクトリに、いくつかの
.py
各ファイルはいくつかのクラスを定義しています。また、空の
__init__.py
というディレクトリがあります。
例えば
myproject
__init__.py
mymodule
__init__.py
api.py
models.py
views.py
をインポートしようとしています。
mymodule
で、これらすべてのファイルで定義されたクラスにアクセスします。
from myproject import mymodule
print mymodule.api.MyClass
というエラーが表示されます。
mymodule
には属性がありません。
api
. なぜ? また、なぜ1つのファイルだけにアクセスできるのでしょうか (
models.py
) で、他はダメなんですか?
In [2]: dir(banners)
Out[2]:
['__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'__path__',
'models']
解決方法は?
問題は、サブモジュールが自動的にインポートされないことです。明示的にインポートする必要があります。
api
モジュールを使用します。
import myproject.mymodule.api
print myproject.mymodule.api.MyClass
もし、どうしても
api
をインポートする際に利用可能です。
myproject.mymodule
に置くことができます。
myproject/mymodule/__init__.py
:
import myproject.mymodule.api
すると、期待通りに動作するようになります。
from myproject import mymodule
print mymodule.api.MyClass
関連
-
PythonによるLeNetネットワークモデルの学習と予測
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] フルパスでモジュールをインポートするには?
-
[解決済み] XMLを解析して、特定のノード属性のインスタンスをカウントするには?
-
[解決済み] Pythonモジュールをアンロード(再ロード)するにはどうしたらいいですか?
-
[解決済み] エラーです。" 'dict' オブジェクトには 'iteritems' という属性がありません "
最新
-
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 implement mysql add delete check change サンプルコード
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない