Windows 10 64位下安装python2模块MySQLdb(MySQL-python)遇到的坑

开始

在这儿下载了MSI安装包.
安装的时候需要python安装目录,配置信息在注册表里。
因为本地系统安装了两个版本的Python(2和3),手动修改的Python27安装目录。

HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7\InstallPath

Windows 10 64位下安装python2模块MySQLdb(MySQL-python)遇到的坑_第1张图片

如果安装了一个版本的Python,可以使用Python脚本:

#   
# script to register Python 2.0 or later for use with win32all   
# and other extensions that require Python registry settings   
#   
# written by Joakim Loew for Secret Labs AB / PythonWare   
#   
# source:   
# http://www.pythonware.com/products/works/articles/regpy20.htm   
#   
# modified by Valentine Gogichashvili as described in http://www.mail-archive.com/[email protected]/msg10512.html   

import sys  

from _winreg import *  

# tweak as necessary   
version = sys.version[:3]  
installpath = sys.prefix  

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)  
installkey = "InstallPath"  
pythonkey = "PythonPath"  
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (  
    installpath, installpath, installpath  
)  

def RegisterPy():  
    try:  
        reg = OpenKey(HKEY_CURRENT_USER, regpath)  
    except EnvironmentError as e:  
        try:  
            reg = CreateKey(HKEY_CURRENT_USER, regpath)  
            SetValue(reg, installkey, REG_SZ, installpath)  
            SetValue(reg, pythonkey, REG_SZ, pythonpath)  
            CloseKey(reg)  
        except:  
            print "*** Unable to register!"  
            return  
        print "--- Python", version, "is now registered!"  
        return  
    if (QueryValue(reg, installkey) == installpath and  
        QueryValue(reg, pythonkey) == pythonpath):  
        CloseKey(reg)  
        print "=== Python", version, "is already registered!"  
        return  
    CloseKey(reg)  
    print "*** Unable to register!"  
    print "*** You probably have another Python installation!"  

if __name__ == "__main__":  
    RegisterPy()  

Windows 10 64位下安装python2模块MySQLdb(MySQL-python)遇到的坑_第2张图片

报错

ImportError DLL load failed: %1 不是有效的 Win32 应用程序

原因是操作系统是win10 64位,而安装包用的win 32位。

找64位安装包

下载地址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
Windows 10 64位下安装python2模块MySQLdb(MySQL-python)遇到的坑_第3张图片

pip install wheel
pip uninstall MySQL-python # 先卸载掉原来的Mysql-python
pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl
pip install mysqlclient-1.3.12-cp27-cp27m-win_amd64.whl

Windows 10 64位下安装python2模块MySQLdb(MySQL-python)遇到的坑_第4张图片

可能在windows下还报其他错误,可能没有安装Microsoft Visual C++ 2008 2010。

参考:

https://www.lfd.uci.edu/~gohlke/pythonlibs/
https://pypi.python.org/pypi/MySQL-python/1.2.5

你可能感兴趣的:(python)