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

树莓派3连接Firestore数据库遇阻:无法设置GCLOUD_PROJECT环境变量

解决树莓派3连接Firestore时无法设置环境变量的问题

我明白你在树莓派上用Firestore官方示例代码时,卡在了设置GCLOUD_PROJECT环境变量这一步——毕竟树莓派的环境变量配置有时候确实有点麻烦。别担心,这里有几个实用的替代方案能帮你绕开这个问题:

方案1:直接在代码中指定项目ID

官方示例依赖环境变量是为了通用性,但其实你可以直接在初始化Firestore客户端时显式传入项目ID,完全不用依赖环境变量。修改后的代码如下:

from google.cloud import firestore
import google.cloud.exceptions

def quickstart_new_instance():
    # 把这里替换成你的Firestore实际项目ID
    project_id = "你的项目ID"
    # 显式指定项目ID初始化客户端
    db = firestore.Client(project=project_id)
    
    # 接下来就可以正常操作数据库了,比如添加测试文档
    doc_ref = db.collection("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})
    
    # 读取文档验证连接是否成功
    try:
        doc = doc_ref.get()
        print(f"文档数据: {doc.to_dict()}")
    except google.cloud.exceptions.NotFound:
        print("文档不存在")

quickstart_new_instance()

方案2:运行脚本时临时注入环境变量

如果想保留官方代码的结构,你可以在运行Python脚本时临时设置环境变量,不用修改系统全局配置。在树莓派的终端里这样执行脚本:

GCLOUD_PROJECT="你的项目ID" python3 你的脚本文件名.py

这种方式只会在当前脚本运行的会话中生效,不会影响系统其他环境,适合临时测试使用。

方案3:通过服务账号密钥文件配置(推荐长期部署)

对于树莓派上的长期部署,更稳妥的方式是用服务账号密钥文件完成认证,同时也能指定项目ID:

  1. 登录Google Cloud控制台,找到你的项目,进入「IAM与管理」→「服务账号」,创建服务账号并下载JSON格式的密钥文件。
  2. 把密钥文件传到树莓派上(可以用scp命令或者U盘拷贝)。
  3. 修改代码通过密钥文件初始化客户端:
from google.cloud import firestore
import google.cloud.exceptions

def quickstart_new_instance():
    project_id = "你的项目ID"
    # 替换成你传到树莓派上的密钥文件实际路径
    key_path = "/home/pi/firestore-key.json"
    
    db = firestore.Client(
        project=project_id,
        credentials=firestore.Client.from_service_account_json(key_path)
    )
    
    # 后续数据库操作和之前一致
    doc_ref = db.collection("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

quickstart_new_instance()

或者你也可以通过设置GOOGLE_APPLICATION_CREDENTIALS环境变量指向密钥文件,这样代码里就不用显式指定密钥路径了:

GOOGLE_APPLICATION_CREDENTIALS="/home/pi/firestore-key.json" GCLOUD_PROJECT="你的项目ID" python3 你的脚本文件名.py

最后提醒下,树莓派上要确保已经安装了google-cloud-firestore库,没装的话用这条命令安装:

pip3 install google-cloud-firestore

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:23:13