python – 使用MySQLdb模块和Pypy编译器

我正在尝试Pypy编译器,看看我是否可以加速我的代码.然而,我遇到麻烦的MySQLdb模块,Pypy无法找到.

我已经读过MySQLdb 1.2.4应该可以正常使用Pypy,所以我升级了模块,我测试它是CPython编译器的正确版本:

import MySQLdb
MySQLdb.__version__
>> '1.2.4'

但是当使用Pypy时,我得到:

Python 2.7.2 (1.9+dfsg-1, Jun 19 2012, 23:23:45)
[PyPy 1.9.0 with GCC 4.7.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``-FIRST they ignore you, then they
laugh at you, then they fight you, then you win.-''
>>>> import MySQLdb
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named MySQLdb

有帮助吗?我正在使用Ubuntu 13.04并使用进入Canonical存储库的Pypy.

最佳答案
MySQLdb主要是用C编写的,pypy不能直接使用.你需要patch and recompile它.

更简单的解决方案是使用纯python mysql连接器库,如pymysqlmysql-connector-python

pymysql甚至可以用作MySQLdb的dropin替换,你需要做的就是添加:

import pymysql
pymysql.install_as_MySQLdb()

或者将它放在MySQLdb.py模块中,之后导入MySQLdb的代码应该正常工作.

转载注明原文:python – 使用MySQLdb模块和Pypy编译器 - 代码日志