【No matching distribution found for MyQSLdb】python3 找不到 合适的MySQLdb版本

使用sqlalchemy的时候发现找不到模块 MySQLdb,然后就pip install MySQLdb,然后被报出现错误:

No matching distribution found for MyQSLdb

这其实意思是指,在pip索引的库里面没有一个叫做MYSQLdb的包。所以接下来应该去找MySQLdb的从属包,然后安装那个包。

去网上查了大多数都是说用pymysql代替MySQLdb的使用,因为MySQLdb不支持python3 。

但是MySQLdb模块并不是我调用的,而是兼容python3的sqlalchemy调用的,难道说兼容python3的库还会引用不兼容python3的模块?

最后,偶然间发现,安装了mysql库之后,就会带着MySQLdb一起装了。即

pip install mysql

就可以安装出MySQLdb。

仔细研究了一下,我发现其实MySQLdb并不是mysql的从属包,观察目录结构,其实MySQLdb的安装位置是sitepackage下,不属于mysql的文件夹下,并且安装了mysql后,新添的文件主要有三部分:_mysql 部分(包括一个.so),MySQLdb部分,还有mysql-0.0.2.dist-info文件夹,但是在uninstall mysql的时候,只会删除mysql-0.0.2.dist-info文件夹的内容。

因此,我觉得MySQLdb和_mysql部分应该属于安装mysql的前提环境。

网上之所以会说MySQLdb不支持python3估计是这句话造成的

【No matching distribution found for MyQSLdb】python3 找不到 合适的MySQLdb版本_第1张图片

 

 

 

 

 

 

 

这段话描述的是MySQLdb在python3中的unicode解码到底是会是什么结果,所以MySQLdb只在python2上运行。然而现在似乎python3上的MySQLdb也能正常使用,至于unicode解码问题有没有解决。。我觉得应该是解决了吧,至少目前用的没问题。

综上所述,解决这个问题,安装mysql即可。

pip install mysql

你可能感兴趣的:(【No matching distribution found for MyQSLdb】python3 找不到 合适的MySQLdb版本)