mysqlclient是mysql的常用python驱动库。
在Django, SQLAlchemy等python ORM系统里面都是MySQL第一位的推荐库。
但是作为一个python库,在Windows上安装有时候会不容易装上,原因就在于这个python库不是一个纯python库,而pip安装的时候,当前的最新版本未必含有编译好的wheel包。
如果安装只有源码的版本,最后就会试图帮你编译,然而对环境和依赖包要求较高,通常是装不上去的。
比如1.4.2版本,查看pypi上的上传包,只有源代码版本
![6de4dec04913c4cde1b2638325559dc0.png](https://i-blog.csdnimg.cn/blog_migrate/b5b1d46b9e8f6593b1a34165d1ad0376.jpeg)
如果进行安装,很容易出现一下错误
(py37) C:>pip install mysqlclient==1.4.2Collecting mysqlclient==1.4.2 Downloading https://files.pythonhosted.org/packages/73/79/67ddf24ac31b05d741f0ac87fa612c7a11bab1b39b8270ed7344d149f8af/mysqlclient-1.4.2.tar.gz (85kB) 100% |████████████████████████████████| 92kB 25kB/sInstalling collected packages: mysqlclient Running setup.py install for mysqlclient ... error ... creating build creating buildlib.win-amd64-3.7 creating buildlib.win-amd64-3.7MySQLdb copying MySQLdb__init__.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdb_exceptions.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbcompat.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbconnections.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbconverters.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbcursors.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbelease.py -> buildlib.win-amd64-3.7MySQLdb copying MySQLdbimes.py -> buildlib.win-amd64-3.7MySQLdb creating buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstants__init__.py -> buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstantsCLIENT.py -> buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstantsCR.py -> buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstantsER.py -> buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstantsFIELD_TYPE.py -> buildlib.win-amd64-3.7MySQLdbconstants copying MySQLdbconstantsFLAG.py -> buildlib.win-amd64-3.7MySQLdbconstants running build_ext building 'MySQLdb._mysql' extension creating buildemp.win-amd64-3.7 creating buildemp.win-amd64-3.7Release creating buildemp.win-amd64-3.7ReleaseMySQLdb ... _mysql.c MySQLdb/_mysql.c(29): fatal error C1083: 无法打开包括文件: “mysql.h”: No such file or directory error: command 'C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023binHostX86x64cl.exe' failed with exit status 2
所以可以找一个带有编译完wheel包的版本,比如1.4.1
![303d9699e8dfb1fac197c3475ed11ce0.png](https://i-blog.csdnimg.cn/blog_migrate/9331327a322090afeea2753b9ca44bf5.jpeg)
从包的名字可以看出,支持python 3.6和python 3.7的64bit版,所以在安装的时候确保你的python的版本在这个范围里面。
安装的时候切记固定版本
(py37) C:>pip install mysqlclient==1.4.1
这样就很容易安装上了。