ImportError: 无法从 'plaid' 导入 'Client
我一直在努力寻找答案。我想把Plaid整合到我的Django项目中,但我总是遇到同样的错误。我使用的是Python 3.11和Plaid 19.0.0。
我尝试了各种代码,但我的问题似乎与Plaid的客户端库有关。我在想有没有人遇到过类似的情况。我试过使用虚拟环境和卸载,但都没有解决问题。
Plaid-python这个包在我的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 plaid import Client
from django.shortcuts import render, redirect
def plaid_link_view(request):
# Initialize Plaid client
client = Client(client_id=PLAID_CLIENT_ID, secret=PLAID_SECRET, environment=PLAID_ENV)
# 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)
任何帮助都会非常感激。
1 个回答
1
根据文档的说明,它应该看起来像这样:
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)
你可能在跟一个过时的教程,因为这个接口在三年前就改过了。