如何在PythonAnywhere安装SQL Server ODBC Driver 18并对接Google Cloud SQL?
在PythonAnywhere安装ODBC驱动对接Google Cloud SQL的解决方案
1. 先检查基础ODBC依赖
PythonAnywhere的服务器基于Debian系统,默认预装了部分ODBC基础库。先通过Bash控制台确认:
dpkg --list | grep odbc
若输出包含unixodbc和unixodbc-dev,说明基础依赖已就绪;若缺失,执行以下命令安装:
sudo apt-get update sudo apt-get install unixodbc unixodbc-dev
2. 安装对应Cloud SQL类型的ODBC驱动
根据你的Google Cloud SQL数据库类型选择对应驱动:
- MySQL类型:
sudo apt-get update sudo apt-get install mysql-connector-odbc
- PostgreSQL类型:
sudo apt-get update sudo apt-get install odbc-postgresql
- SQL Server类型:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/debian/11/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install msodbcsql18
3. 配置pyodbc连接
无需额外配置ODBC数据源,直接在代码中指定驱动参数即可,以MySQL为例:
import pyodbc # 替换为你的Cloud SQL实际信息 conn = pyodbc.connect( "DRIVER={MySQL ODBC 8.0 Unicode Driver};" "SERVER=[你的Cloud SQL公网IP];" "DATABASE=[数据库名称];" "UID=[数据库用户名];" "PWD=[数据库密码];" "PORT=3306" )
4. 关键注意事项
- 确保Cloud SQL已开启公网访问权限,且防火墙规则允许PythonAnywhere的IP段(可在PythonAnywhere账户设置中查看服务器IP)进入。
- 若使用Cloud SQL私有IP,需通过VPC peering等方式打通PythonAnywhere服务器与Cloud SQL的网络连接,这一步需要额外配置云服务侧的网络规则。
内容的提问来源于stack exchange,提问作者noname for the moment
相关产品推荐
相关产品推荐

