python3.7安装mysqlclient失败问题

问题

直接使用pip install安装mysqlclient最新版本2.1.1失败了,提示“Failed building wheel for mysqlclient”

解决步骤:

  1. 换wheel方式安装,去pypi官网准备下载文件,突然发现2.1.1只支持py38及以上;

  2. 换2.1.0,pip install mysqlclient==2.1.0也失败,原因一样;

  3. 继续wheel方式安装

    • 下载之后pip install mysqlclient-2.1.0-cp37-cp37m-win_amd64.whl,提示“whl is not a supported wheel on this platform.”;

    • 可能是whl文件名不正确,网上查找的print(pip._internal.pep425tags.get_supported())查看支持whl文件名方式不可用,——因为pip._internal中没有pep425tags.py文件;

    • 使用pip debug --verbose查看, 发现格式应该为cp37-cp37m-win32;

    • 改成mysqlclient-2.1.0-cp37-cp37m-win32.whl后安装成功,但运行时提示错误(原因是实际安装未完全成功,存在一个文件_mysql.cp37-win_amd64.pyd):

      from . import _mysql
      ImportError: cannot import name '_mysql' from 'MySQLdb'
      
  4. 找到根源,本地很早之前安装的python是32位的,mysqlclient只提供64位的库(估计前面直接pip install失败也是这个原因);

  5. 尝试tar.gz文件安装:

    • 下载压缩文件后,解压缩,进入setup.py文件所在目录,运行python setup.py install, 提示“mysql.h”: No such file or directory
    • 将本地mysql-5.7.38\include目录下的mysql.h,复制粘贴到提示信息中的任一目录(如 Windows Kits\10\Include\10.0.18362.0\winrt)中去,直至不提示.h文件缺失为止;
    • 提示缺少文件mariadbclient.lib, —— 这个真找不到了, 用别的文件改名字替换也会有其他问题

哈哈哈,以上招数都没用,

最终:下载python3.7 64位的安装包,重新安装; 然后pip install mysqlclient==2.1.0搞定!!!

posted @ 2022-11-28 11:26  daxiacet  阅读(1421)  评论(0编辑  收藏  举报