私はこの質問が以前に聞かれたのを見るが、私はまだPythonモジュールを扱うことに頭を抱えようとしている。一般的なPythonモジュール
app/
__init__.py
driver.py
dbloader/
__init__.py
loader.py
両方__init__.py
ファイルが空である: 私のアプリは非常に基本的な構造を有しています。 driver.py
は唯一のアプリケーション/ディレクトリ内にこのセットアップ、cd
をテストするための1つのクラスドライバ()とその中のloader.py
ている唯一のクラスローダ()だから、
を持っています。ここから私はPythonシェルを起動します。次に試してみます:
import dbloader
これは動作します(エラーはありません)。しかし、私はloader.py
の内部でLoader()をインスタンス化するためにあらゆる順列を試しました。私が試したもののいくつかのものがある:
from dbloader import loader
from dbloader.loader import Loader
私も
がちょうどdbloaderインポートして、次のようにインスタンス化しようと試みた:
import dbloader
l = dbloader.Loader()
すべて無駄に。私は、現在のディレクトリとサブディレクトリがPythonシェルを実行するときにpythonpathに自動的に含まれていると読んでいます(これは本当ですか?)
いずれにせよ、
dbloaderをインポートするとき l = dbloader.Loader()、どのようなエラーが発生しますか? –
なぜ2つのソリューションの問題が発生しているのかわかりません:from dbloader import loader'と 'from dbloader.loader import Loader'です。最初は 'Loader'を' loader.Loader'として提供し、2番目は 'Loader'を提供します。スタックトレースを投稿できますか? – Darthfett
NiekとDarthは、「名前ローダーをインポートできませんでした」というエラーが発生していましたが、ダニエルの提案に従って修正されています。これは、すでに行っていたことと似ています。脂肪指の – rdodev