在 Python 3.7 中安装 cloud-sql-python-connector[pg8000] 时出错

Error installing cloud-sql-python-connector[pg8000] in Python 3.7

我正在尝试从我的本地计算机通过 python 3.7 连接到 Cloud SQL postgresql 实例。我遵循 README cloud-sql-python-connector 中的指南。那里说要使用以下命令为 postgresql 实例 pip 安装必要的模块:

pip install cloud-sql-python-connector[pg8000]

但是当我在终端中 运行 时,出现以下错误:

zsh: no matches found: cloud-sql-python-connector[pg8000]

确实存在没有关联 [pg8000] 部分的包 cloud-sql-python-connector,但是我无法 运行 下一部分建立连接,因为 pg8000 未定义:

def getconn() -> pg8000.connections.Connection:
    conn: pg8000.connections.Connection = connector.connect(
        "project:region:instance",
        "pg8000",
        user="postgres",
        password="XXXXXXXX",
        db="your-db-name"
    )
    return conn

任何关于我可能做错的建议都将不胜感激!

最后我需要做的就是转义 pip install 命令中的方括号。这是因为方括号在命令行中被解释为一种模式 (article)。所以最终起作用的命令是:

pip install cloud-sql-python-connector\[pg8000\]

我还是终端的新手,但希望这能帮助遇到此类问题的其他人。

看来这实际上是 mac 用户的 zsh 终端的一个 long-running 问题。它不喜欢带方括号的 pip 安装。参见

如前所述,转义方括号有效,以下内容也应如此:

pip install 'cloud-sql-python-connector[pg8000]'