You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下调用Google Gemini API报错的排查求助

问题:Linux服务器无法调用Google Gemini API,Windows环境正常

应用几周前在Ubuntu Linux上可正常运行,如今无法调用Google Gemini API。相同测试代码在Windows开发机上可正常执行,但在Linux服务器上运行失败。已尝试重装Ubuntu、降级Python、更换Debian系统及外部IP、更换谷歌账号重新生成API key,但问题仍未解决。

测试代码

import google.generativeai as genai

# api key
genai.configure(api_key=GOOGLE_API_KEY)

for m in genai.list_models():
    print(m)
    if 'generateContent' in m.supported_generation_methods:
        print(m.name)

model = genai.GenerativeModel('gemini-pro')

response = model.generate_content("Are you working for me today?")
print(response.text)

报错信息

E0114 21:53:23.743476819   24711 hpack_parser.cc:999]                  Error parsing 'content-type' metadata: invalid value
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/grpc_helpers.py", line 79, in error_remapped_callable
    return callable_(*args, **kwargs)
  File "/home/user/.local/lib/python3.9/site-packages/grpc/_channel.py", line 1160, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/user/.local/lib/python3.9/site-packages/grpc/_channel.py", line 1003, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
        status = StatusCode.UNKNOWN
        details = "Stream removed"
        debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"Stream removed", grpc_status:2, created_time:"2024-01-14T21:53:23.743853464+00:00"}"
>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/application2/testgoogle.py", line 8, in <module>
    for m in genai.list_models():
  File "/home/user/.local/lib/python3.9/site-packages/google/generativeai/models.py", line 164, in list_models
    for model in client.list_models(page_size=page_size):
  File "/home/user/.local/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/model_service/client.py", line 677, in list_models
    response = rpc(
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/gapic_v1/method.py", line 131, in __call__
    return wrapped_func(*args, **kwargs)
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/retry.py", line 372, in retry_wrapped_func
    return retry_target(
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/retry.py", line 207, in retry_target
    result = target()
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/timeout.py", line 120, in func_with_timeout
    return func(*args, **kwargs)
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/grpc_helpers.py", line 81, in error_remapped_callable
    raise exceptions.from_grpc_error(exc) from exc
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/exceptions.py", line 616, in from_grpc_error
    details, err_info = _parse_grpc_error_details(rpc_exc)
  File "/home/user/.local/lib/python3.9/site-packages/google/api_core/exceptions.py", line 564, in _parse_grpc_error_details
    status = rpc_status.from_call(rpc_exc)
AttributeError: 'NoneType' object has no attribute 'from_call'

相关依赖版本

google-ai-generativelanguage 0.4.0
google-api-core              2.15.0
google-auth                  2.26.2
google-generativeai          0.3.2
googleapis-common-protos     1.62.0
grpcio                       1.60.0

预期输出

gemini-pro
gemini-pro-vision
"Ai response here."

解决方案

1. 强制使用REST传输替代gRPC

修改测试代码,添加transport="rest"配置,绕过gRPC的metadata解析问题:

import google.generativeai as genai
import os

genai.configure(
    api_key=os.environ.get("GOOGLE_API_KEY"),  # 建议通过环境变量管理API Key
    transport="rest"
)

for m in genai.list_models():
    print(m)
    if 'generateContent' in m.supported_generation_methods:
        print(m.name)

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("你今天能为我工作吗?")
print(response.text)

2. 升级google-generativeai到最新稳定版

当前使用的0.3.2版本存在已知的Linux环境gRPC兼容问题,执行以下命令升级:

pip install --upgrade google-generativeai

3. 调整grpcio版本以匹配google-api-core

1.60.0版本的grpcio与部分旧版google-api-core存在兼容性冲突,降级到1.59.0:

pip install grpcio==1.59.0

4. 更新Linux系统SSL证书

部分Linux环境可能因证书缺失导致HTTPS请求失败,执行以下命令更新证书:

apt-get install ca-certificates
update-ca-certificates

内容的提问来源于stack exchange,提问作者DJW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:40:20