Skip to content

Keyerror问题:Python 调用billing模块的KeyError提示 #53

@David-metromouse

Description

@David-metromouse

~ $ pip install volcengine-python-sdk --no-cache-dir
Collecting volcengine-python-sdk
Downloading volcengine_python_sdk-5.0.26-py2.py3-none-any.whl.metadata (8.4 kB) Requirement already satisfied: certifi>=2017.4.17 in /data/data/com.termux/files/usr/lib/python3.13/site-packages (from volcengine-python-sdk) (2026.2.25) Requirement already satisfied: python-dateutil>=2.1 in /data/data/com.termux/files/usr/lib/python3.13/site-packages (from volcengine-python-sdk) (2.9.0.post0) Requirement already satisfied: six>=1.16 in /data/data/com.termux/files/usr/lib/python3.13/site-packages (from volcengine-python-sdk) (1.17.0)
Requirement already satisfied: urllib3>=1.26.5 in /data/data/com.termux/files/usr/lib/python3.13/site-packages (from volcengine-python-sdk) (2.6.3) Downloading volcengine_python_sdk-5.0.26-py2.py3-none-any.whl (34.4 MB) ━━━━━━━━━━━━━━━━━━━━ 34.4/34.4 MB 10.9 MB/s 0:00:03
Installing collected packages: volcengine-python-sdk Successfully installed volcengine-python-sdk-5.0.26
~ $ rm -rf 2-config.py ~ $ nano 2-config.py ~ $ python 2-config.py ❌ SDK 调用失败: '.models'
~ $ python 2-config.py
❌ SDK 调用失败: '.models'
~ $ nano 2-config.py
~ $ cat 2-config.py
import os
import volcenginesdkcore
import volcenginesdkbilling

ak = os.environ.get("VOLC_ACCESS_KEY")
sk = os.environ.get("VOLC_SECRET_KEY")

if not ak or not sk:
print("请设置环境变量 VOLC_ACCESS_KEY 和 VOLC_SECRET_KEY")
exit(1)

configuration = volcenginesdkcore.Configuration()
configuration.ak = ak
configuration.sk = sk
configuration.region = "cn-beijing" # 账单服务区域

api_client = volcenginesdkcore.ApiClient(configuration)
api_instance = volcenginesdkbilling.BILLINGApi(api_client)

try:
resp = api_instance.query_balance_acct({})
print("✅ SDK 调用成功")
print(resp)
except Exception as e:
print(f"❌ SDK 调用失败: {e}")
~ $ nano 2-config.py ~ $ cat 2-config.py
import os
import volcenginesdkcore
import volcenginesdkbilling

ak = os.environ.get("VOLC_ACCESS_KEY")
sk = os.environ.get("VOLC_SECRET_KEY")

if not ak or not sk:
print("请设置环境变量 VOLC_ACCESS_KEY 和 VOLC_SECRET_KEY")
exit(1)

configuration = volcenginesdkcore.Configuration()
configuration.ak = ak
configuration.sk = sk
configuration.region = "cn-beijing" # 账单服务区域

api_client = volcenginesdkcore.ApiClient(configuration)
api_instance = volcenginesdkbilling.BILLINGApi(api_client)

resp = api_instance.query_balance_acct({})
print(resp)
~ $ python 2-config.py
Traceback (most recent call last):
File "/data/data/com.termux/files/home/2-config.py", line 21, in
resp = api_instance.query_balance_acct({})
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkbilling/api/billing_api.py", line 4225, in query_balance_acct
(data) = self.query_balance_acct_with_http_info(body, **kwargs) # noqa: E501
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkbilling/api/billing_api.py", line 4288, in query_balance_acct_with_http_info
return self.api_client.call_api(
~~~~~~~~~~~~~~~~~~~~~~~~^
'/QueryBalanceAcct/2022-01-01/billing/post/application_json/', 'POST',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<11 lines>...
_request_timeout=params.get('_request_timeout'),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
collection_formats=collection_formats)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/api_client.py", line 229, in call_api
return self.__call_api(resource_path, method,
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
path_params, query_params, header_params,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
_return_http_data_only, collection_formats,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_preload_content, _request_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/api_client.py", line 165, in __call_api
interceptor_context = self.interceptor_chain.execute_response(interceptor_context)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/interceptor/chain.py", line 61, in execute_response
context = interceptor.intercept(context)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/interceptor/interceptors/deserialized_response_interceptor.py", line 25, in intercept
dresponse = self.deserialize(context.response.http_response, context.request.response_type,
context.request.md)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/interceptor/interceptors/deserialized_response_interceptor.py", line 78, in deserialize

resp_model = self.__deserialize(data, response_type, service)

File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/volcenginesdkcore/interceptor/interceptors/deserialized_response_interceptor.py", line 147, in __deserialize
klass = getattr(sys.modules[service + ".models"], klass
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
KeyError: '.models'
我用的是termux 0.118.1,Python版本3.13.13,碰到了这个问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions