をインポートされていていても、Pythonのクラスをインスタンス化することはできませんは、それは私がこのようになりますPythonパッケージを書いて
class Database(object):
def __init__(self, url):
self.url = url
...more methods
これはインストールされています開発モードではdatum
というパッケージとして提供されます。私は次のように、このパッケージのconnect
外を呼び出す場合:
import datum
db = datum.connect('postgresql://xxx')
...これが出力されます。
<class 'datum.database.Database'>
Traceback (most recent call last):
File "Z:\AIS\Flask\ais\engine\scripts\load_pwd_parcels.py", line 30, in <module>
source_db = Database(source_db_url)
NameError: name 'Database' is not defined
クラスは細かいインポートされているので、私は混乱している - 私はそれを印刷することができますし、それにもdir
を実行して私のすべてのメソッドを見てください - しかし、私は何かをインスタンス化しようとすると "定義されていません"。誰も私がここで間違っていることを知っていますか?
'datum'ディレクトリに対して' load_pwd_parcels.py'がどこに保存されていますか? – chepner
別のパッケージ(Flaskアプリケーション)です。 – Rob
'Database'クラスを持つ' datum'のバージョンをインポートしていますか?あなたの質問には、問題を再現するのに十分な情報がありません。 – chepner