我正在尝试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。
答案 0 :(得分:13)
MySQLdb
主要是用C编写的,pypy不能直接使用。你需要patch and recompile它。
更简单的解决方案是使用纯python mysql连接器库,如pymysql或mysql-connector-python
pymysql甚至可以用作MySQLdb的dropin替代品,你需要做的就是添加:
import pymysql
pymysql.install_as_MySQLdb()
或将其放在模块MySQLdb.py
中,之后导入MySQLdb
的代码应正常工作。