0

我尝试使用以下代码将 pymsql 与 sqlalchemy 一起使用:

    从 sqlalchemy 导入 create_engine
    engine = create_engine("mysql+pymsql://root:@localhost/pydb")
    conn = engine.connect()
    

这里引发的这个异常是完整的堆栈跟踪:

    回溯(最近一次通话最后):
      文件“D:\Parser\dal__init__.py”,第 3 行,在
        engine = create_engine("mysql+pymsql://root:@localhost/pydb")
      文件“C:\Python33\lib\site-packages\sqlalchemy-0.9.2-py3.3.egg\sqlalchemy\engine__init__.py”,第 344 行,在 create_engine
      创建文件“C:\Python33\lib\site-packages\sqlalchemy-0.9.2-py3.3.egg\sqlalchemy\engine\strategies.py”,第 48 行
      文件“C:\Python33\lib\site-packages\sqlalchemy-0.9.2-py3.3.egg\sqlalchemy\engine\url.py”,第 163 行,在 make_url
      _parse_rfc1738_args 中的文件“C:\Python33\lib\site-packages\sqlalchemy-0.9.2-py3.3.egg\sqlalchemy\engine\url.py”,第 183 行
      编译中的文件“C:\Python33\lib\re.py”,第 214 行
        返回_compile(模式,标志)
      _compile 中的文件“C:\Python33\lib\re.py”,第 281 行
        p = sre_compile.compile(模式,标志)
      编译中的文件“C:\Python33\lib\sre_compile.py”,第 498 行
        代码 = _code(p, 标志)
      _code 中的文件“C:\Python33\lib\sre_compile.py”,第 483 行
        _compile(代码,p.data,标志)
      _compile 中的文件“C:\Python33\lib\sre_compile.py”,第 75 行
        elif _simple(av) 和 op 不是 REPEAT:
      _simple 中的文件“C:\Python33\lib\sre_compile.py”,第 362 行
        引发错误(“没有什么可重复的”)
    sre_constants.error:无需重复
    

4

2 回答 2

0

:在您的用户名之后从您的连接字符串中删除。它应该是mysql+pymsql://root@localhost/pydb

于 2014-02-18T21:50:38.443 回答
0

我的 sqlalchemy 0.9.4 和 python3.3 的工作 URI 是:

sqlalchemy.url = mysql+pymysql://user:password@host:port/database?charset=utf8&use_unicode=0

我使用 pymysql 而不是 pymsql。

于 2014-06-11T11:49:17.643 回答