报错信息为:
ImportError: this is MySQLdb version (1, 3, 9, 'final', 1), but _mysql is version (1, 2, 3, 'final', 0)
此种问题理论上可以重装MySQLdb 但是由于在windows下面总是有各种奇奇怪怪的问题,导致即使虚拟环境里有MySQLdb也会报错。
解决方案是将c:/python27/lib/sit-packages(即你安装python目录中包的路径)的MySQLdb替换虚拟环境的Mysqldb
然而现实是我发现c盘的python目录包中居然没有MySQLdb,只有mysqldb(注意大小写)。
我尝试在c中的包的路径安装MySQLdb也安装不了(ps:并没有指定版本)
报错信息为:
Collecting MySQLdb Could not find a version that satisfies the requirement MySQLdb (from versions: ) No matching distribution found for MySQLdb
于是我干脆把mysqldb这个包的名字改为MysSQLdb然后替换掉虚拟环境的包,于是成功 了
-------------------------------------
更新
解决方案是需要安装mysql-python的驱动(ps:MySQL-python-1.2.3.win-amd64-py2.7.exe
)
但是mysql-python的安装程序只能安装在非虚拟环境的sit-packages中
于是将python根目录的sit-packages的
- MySQL_python-1.2.3-py2.7.egg-info 文件
- MySQLdb 文件
- _mysql.pyd
- _mysql_exceptions.py
这几个文件复制到虚拟环境中