python-3.x - Cloud Run 连接到 Cloud SQL 模块时出错 Python

标签 python-3.x google-cloud-platform sqlalchemy google-cloud-sql google-cloud-run

我在尝试连接 Cloud Run 时不断收到错误消息,并且不断收到以下错误消息。有什么想法吗?

 __import__("pg8000") ModuleNotFoundError: No module named 'pg8000'
import pandas as pd
import sqlalchemy
import datetime
import requests
from urllib.parse import urlencode
import warnings
from flask import Flask
import os
import google
db_user = os.environ.get("DB_USER")
db_pass = os.environ.get("DB_PASS")
db_name = os.environ.get("DB_NAME")
cloud_sql_connection_name = os.environ.get("CLOUD_SQL_CONNECTION_NAME")

db = sqlalchemy.create_engine(
    # Equivalent URL:
    # postgres+pg8000://<db_user>:<db_pass>@/<db_name>?unix_sock=/cloudsql/<cloud_sql_instance_name>/.s.PGSQL.5432
    sqlalchemy.engine.url.URL(
        drivername='postgres+psycopg2',
        username=db_user,
        password=db_pass,
        database=db_name,
        query={
            'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(
                cloud_sql_connection_name)
        }
    ),
    # ... Specify additional properties here.
    # ...
)

最佳答案

您需要安装 supported database drivers 之一.

如果你想使用postgres+pg8000,你需要安装pg8000包,否则根据您的示例,您实际上需要安装 psycopg2 .

关于python-3.x - Cloud Run 连接到 Cloud SQL 模块时出错 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61369288/

相关文章:

python - 使用Flask使用数据库来存储Session而不是Cookie

google-cloud-platform - 如何授予对 Google Cloud Dataprep 的访问权限?

mysql - Google Cloud SQL 实例连接错误

python - 如何在 Alembic 迁移中指定全文搜索索引 (MySQL)?

python - 将对象方法作为 lambda 或部分函数传递,用目标对象替换 self 参数?

google-app-engine - 缺少用于从 Google App Engine 标准环境连接到 Cloud SQL 的套接字

python - SQLAlchemy 外键访问优化

python-3.x - 导入错误 : No module named 'keras.utils.visualize_util'

python - Matplotlib 注释文本在轴外扩展

python - xarray 无法直接将 xarray.Dataset 转换为 numpy 数组