web-dev-qa-db-ja.com

ImportError:既知の親パッケージなしで相対インポートを試みました

pythonでプログラミングすることを学び、パッケージ内のモジュールからのインポートに問題があります。jediが有効になっている部分のコメントをテストしましたが、機能していません。ビジュアルを使用しています。 Python 3.8.2 64ビットのスタジオコード。

マイプロジェクトディレクトリ

.vscode
├── ecommerce
│   ├── __init__.py
│   ├── database.py
│   ├── products.py
│   └── payments
│       ├── __init__.py
│       ├── authorizenet.py
│       └── Paypal.py
├── __init__.py
└── main.py

私が書いたproducts.pyファイルで:

#products.py
from .database import Database
p = Database(3,2)

Database.pyモジュールからDatabaseクラスをインポートできるように

助けていただければ幸いです

6
Isaac Anatolio

Python 3.8バージョンを使用しているため、インポートの動作は少し異なりますが、これは機能するはずです。

次のいずれかを使用します。

from database import Database
#Database is the class

または試してください:

import database.Database

最後に、これは非常に安全で、おそらくベストプラクティスです。

from . import Database  
# The '.' (dot) means from within the same directory as this __init__.py module grab the Database class.
1
FishingCode