编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

python在Windows平台下安装mysqlclient

wxchong 2024-07-17 05:01:32 开源技术 17 ℃ 0 评论

mysqlclient是mysql的常用python驱动库。

在Django, SQLAlchemy等python ORM系统里面都是MySQL第一位的推荐库。

但是作为一个python库,在Windows上安装有时候会不容易装上,原因就在于这个python库不是一个纯python库,而pip安装的时候,当前的最新版本未必含有编译好的wheel包。

如果安装只有源码的版本,最后就会试图帮你编译,然而对环境和依赖包要求较高,通常是装不上去的。

比如1.4.2版本,查看pypi上的上传包,只有源代码版本

如果进行安装,很容易出现一下错误

(py37) C:\>pip install mysqlclient==1.4.2
Collecting mysqlclient==1.4.2
 Downloading https://files.pythonhosted.org/packages/73/79/67ddf24ac31b05d741f0ac87fa612c7a11bab1b39b8270ed7344d149f8af/mysqlclient-1.4.2.tar.gz (85kB)
 100% |████████████████████████████████| 92kB 25kB/s
Installing collected packages: mysqlclient
 Running setup.py install for mysqlclient ... error
 ...
 creating build
 creating build\lib.win-amd64-3.7
 creating build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\__init__.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\_exceptions.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\compat.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\connections.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\converters.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\cursors.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\release.py -> build\lib.win-amd64-3.7\MySQLdb
 copying MySQLdb\times.py -> build\lib.win-amd64-3.7\MySQLdb
 creating build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\CR.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\ER.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-3.7\MySQLdb\constants
 running build_ext
 building 'MySQLdb._mysql' extension
 creating build\temp.win-amd64-3.7
 creating build\temp.win-amd64-3.7\Release
 creating build\temp.win-amd64-3.7\Release\MySQLdb
 ...
 _mysql.c
 MySQLdb/_mysql.c(29): fatal error C1083: 无法打开包括文件: “mysql.h”: No such file or directory
 error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

所以可以找一个带有编译完wheel包的版本,比如1.4.1

从包的名字可以看出,支持python 3.6和python 3.7的64bit版,所以在安装的时候确保你的python的版本在这个范围里面。

安装的时候切记固定版本

(py37) C:\>pip install mysqlclient==1.4.1 <-- 使用1.4.1版本
Collecting mysqlclient==1.4.1
 Downloading https://files.pythonhosted.org/packages/b4/76/ced0523e117c772a82182e309cf9fded3fdefdcdd306aafb9f15c59c6521/mysqlclient-1.4.1-cp37-cp37m-win_amd64.whl (178kB)
 100% |████████████████████████████████| 184kB 16kB/s
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.4.1

这样就很容易安装上了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表