ImportError: невозможно импортировать имя 'Client' из 'plaid'
Я изо всех сил пытаюсь найти ответ. Я пытаюсь интегрировать plaid с моим проектом django, однако продолжаю получать одну и ту же ошибку. Я использую python 3.11 и plaid 19.0.0.
Пакет plaid в моих пакетах на сайте python, где он показывает:
ImportError: cannot import name 'Client' from 'plaid' (/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/plaid/__init__.py)
А файл init.py имеет вид:
"""
The Plaid API
The Plaid REST API. Please see https://plaid.com/docs/api for more details. # noqa: E501
The version of the OpenAPI document: 2020-09-14_1.496.2
Generated by: https://openapi-generator.tech
"""
__version__ = "19.0.0"
# import ApiClient
from plaid.api_client import ApiClient
# import Configuration
from plaid.configuration import Configuration
# import Environments
from plaid.configuration import Environment
# import exceptions
from plaid.exceptions import OpenApiException
from plaid.exceptions import ApiAttributeError
from plaid.exceptions import ApiTypeError
from plaid.exceptions import ApiValueError
from plaid.exceptions import ApiKeyError
from plaid.exceptions import ApiException
Любая помощь будет высоко оценена
Следуя документации, это должно выглядеть примерно так:
from django.shortcuts import render
from plaid import ApiClient, Configuration
from plaid.api.plaid_api import PlaidApi
def plaid_link_view(request):
# Initialize Plaid client
configuration = Configuration(
host=PLAID_ENV,
api_key={
"clientId": PLAID_CLIENT_ID,
"secret": PLAID_SECRET,
},
)
api_client = ApiClient(configuration)
client = PlaidApi(api_client)
# Create Link token for user interaction
link_token_create_response = client.link_token_create(
user={
"client_user_id": request.user.id, # Replace with user identification method
},
products=["transactions"], # Adjust products based on your needs
)
link_token = link_token_create_response["link_token"]
# Render context with link_token for frontend integration
context = {
"link_token": link_token,
}
return render(request, "plaid_link.html", context)
Вероятно, вы следуете устаревшему руководству, поскольку api был изменен 3 года назад.