已安装mysql-connector-python却出现HTTP 404及pip search报错的问题咨询
问题分析与解决方案
先聊聊pip search的报错
这个问题和你数据库连接的错误没关系,就是PyPI官方早就禁用了XMLRPC API,pip search命令已经彻底没法用了。要是想查包的版本信息,换成pip index versions mysql-connector-python就行,或者直接去PyPI网页端搜。
核心疑问:为啥装了mysql-connector-python还是报404?
你碰到的404错误,根源是你的代码或依赖配置还在尝试拉取旧版的mysql-connector包(不带-python后缀的那个),而不是你已经成功安装的mysql-connector-python。
这里得明确两个包的区别:
mysql-connector:Oracle早期维护的旧版连接器,现在已经被废弃,PyPI上早就移除了旧版本的下载源,对应的tar.gz链接自然就404了。mysql-connector-python:现在官方推荐的新版本,你已经装了8.0.26版,这个是完全有效的。
具体解决步骤
检查并卸载旧包残留
先看看系统里有没有遗留的旧版mysql-connector:pip list | findstr mysql-connector如果输出里有
mysql-connector(不带-python),直接卸载:pip uninstall mysql-connector -y确认代码导入与依赖配置
- 代码里的导入必须是
import mysql.connector(这个是对的,但要确保没在代码里指定旧版本依赖) - 如果用了
requirements.txt或者其他依赖管理工具,检查里面写的是mysql-connector-python>=8.0.26,而不是mysql-connector
- 代码里的导入必须是
验证Python环境
有时候IDE会选错Python解释器,比如用了没装mysql-connector-python的虚拟环境。可以在命令行里跑一下验证:python -c "import mysql.connector; print(mysql.connector.__version__)"如果输出
8.0.26,说明环境没问题;要是报错,那就是当前用的Python解释器没装对包,切换到正确的环境就行。清理缓存(可选)
如果还是有问题,清理pip缓存试试:pip cache purge
内容的提问来源于stack exchange,提问作者Tobias
相关产品推荐
相关产品推荐

