9

目前:

  • SQLAlchemy 安装并工作(或至少导入 v0.8.0b2)
  • mysql (v5.5.16)
  • 分发 (0.6.34)
  • Oracle mysql-python 连接器
  • 蟒蛇 3.2
  • Windows 7 32/64(注意我安装了 Python 32bits)

问题是 MySQLdb 或 Oursql 是必需的,我没有设法让它们中的任何一个工作。

找到了这个,但也没有设法让它工作。

编辑:如果您知道其他适用于 Python3 的 orm,我很感兴趣。

4

4 回答 4

29

我成功地让 Oracle 的 MySQL 连接器在 Python 3.3 上与 SQLAlchemy 一起工作。您的连接字符串需要以“mysql+mysqlconnector://...”开头。在我更改了我的连接字符串之后,一切(嗯,简单的事情)都开始工作了。

MySQL 连接器文档可以在这里找到:https ://dev.mysql.com/doc/connector-python/en/

包在 PyPi 上:https ://pypi.org/project/mysql-connector-python/

以下是有关使用 Python 连接器的 SQLAlchemy 文档:http: //docs.sqlalchemy.org/en/latest/dialects/mysql.html#module-sqlalchemy.dialects.mysql.mysqlconnector

于 2013-03-19T19:10:43.763 回答
11

对于到达这里的其他人,应该这样做:

  • pip install mysql-connector==2.1.4 #版本避免Protobuf错误
  • URI = 'mysql+mysqlconnector://$USER:$PASS@$HOST/$DB'
于 2017-08-02T20:57:24.550 回答
2

我按照@Brad Campbell 的建议尝试了 Oracle 的连接,但不幸的是它非常慢,比我在 Python 2 上MySQL-Python使用的“真实”连接慢得多。SQLAlchemy

在自己检查了 SQLAlchemy 之后,

http://docs.sqlalchemy.org/en/latest/dialects/mysql.html#module-sqlalchemy.dialects.mysql.mysqldb

MySQL-Python在 Python 3 上使用,他们推荐它的一个分支mysqlclient

https://github.com/PyMySQL/mysqlclient-python

它可以通过 pip with 获得pip install mysqlclient,但几乎可以肯定,您最初需要执行其他步骤来设置它。不过,在那之后,我看到性能又回到了我以前的水平,这比使用 Oracle 的连接器快了大约 5 倍。

于 2017-12-15T02:13:49.707 回答
1

我已经让 oursql + SQLAlchemy 0.8.1 + Python 3.3 工作了。在 LukeCarrier 的端口的基础上,我修改了 oursql.c 以使用正确的导入级别,并且成功了!试试这个,并确保遵循自述文件:

https://github.com/clintron/py3k-oursql

您可能还需要拥有最新版本的 Cython。

于 2013-05-09T04:50:25.937 回答