Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python和Google SQL云之间的接口问题_Python_Mysql_Sqlalchemy_Google Cloud Sql - Fatal编程技术网

Python和Google SQL云之间的接口问题

Python和Google SQL云之间的接口问题,python,mysql,sqlalchemy,google-cloud-sql,Python,Mysql,Sqlalchemy,Google Cloud Sql,我想使用SQLAlchemy在Python和Google SQL云之间建立接口。我已尝试运行以下代码: from sqlalchemy import * engine = create_engine("mysql+mysqldb://root@/<database>?unix_socket=/cloudsql/<projectid>:<instancename>") df.to_sql('jobsbank', engine, flavor='mysql',

我想使用SQLAlchemy在Python和Google SQL云之间建立接口。我已尝试运行以下代码:

from sqlalchemy import *

engine = create_engine("mysql+mysqldb://root@/<database>?unix_socket=/cloudsql/<projectid>:<instancename>")

df.to_sql('jobsbank', engine, flavor='mysql', if_exists='append',index=True)
问题2:在Python2.7中,我遇到了无法通过套接字连接到本地MySQL服务器的错误…

当我在Python 2.7环境中尝试相同的代码时,使用pip安装Python mysql而不是上面的MySQLdb包,我得到了错误消息:

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/cloudsql/myprojectid:myinstancename' (2)")
我已经采取了必要的步骤来授权我的IP地址,并且可以通过命令行上的SQL客户端访问google cloud数据库,所以我不知道为什么会得到这个

次要问题:由于某些原因,在Python 2.7环境中工作时,我无法在iPython笔记本控制台中导入SQLalchemy

另一方面,我遇到了一个奇怪的问题,我可以从命令行导入Python2.7环境中的SQLAlchemy,但不能从同一环境中启动的iPython笔记本导入。当我尝试使用笔记本导入sqlalchemy时,它告诉我该模块不存在:

ImportError: No module named sqlalchemy
即使该环境中的
conda list
向我显示安装了sqlalchemy,也会发生这种情况

我为这篇文章的广泛混乱感到非常抱歉。我试过的每一条路线似乎都有一把扳手。我已经浏览了与此相关的StackOverflow的所有帖子,并尝试了所有建议,但似乎没有任何效果。任何帮助都将不胜感激

如果这个问题太大,那么关于如何通过Python将数据上传到云SQL数据库(不一定是谷歌的)的其他建议也会很有用。

/cloudsql/:
是一个特殊的套接字,只有在App Engine上运行时才会存在

要进行外部连接,您需要通过IP地址进行连接:


mysql+mysqldb://:@[:]/

这里的端口是什么?我只有实例的IP地址。默认的mysql端口是3306,但您可以不指定它,只指定
mysql+mysqldb://:@/
您的第一个问题看起来像是python模块安装问题,与云SQL无关。如果您发布一个标题为“在OS X for Python 3上安装mysqldb包的问题”的单独问题,您可能会得到更快/更好的答案。(该错误似乎表明模块找不到mysql客户端库。)
ImportError: No module named sqlalchemy