Python3安装MySQL-python踩坑实录:从报错到完美解决的实战指南

本文来自「大千AI助手」技术实战系列,专注用真话讲技术,拒绝过度包装。

问题描述

主要问题

Python3.8.2环境中安装 MySQL-python 时报错, 报错没有模块ConfigParser

往期文章推荐:

详细报错信息如下

复制代码
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-5ieh7yrp/mysql-python_f8bd8f4e7c264169b4ee0cdece103cac/setup.py", line 13, in <module>
          from setup_posix import get_config
        File "/tmp/pip-install-5ieh7yrp/mysql-python_f8bd8f4e7c264169b4ee0cdece103cac/setup_posix.py", line 2, in <module>
          from ConfigParser import SafeConfigParser
      ModuleNotFoundError: No module named 'ConfigParser'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

通过 pip list | grep -i configparser 发现已经安装有configparser模块

原因分析

  • • 查找搜索ConfigParser发现Python3中将ConfigParser重命名为configparser (PEP 8 compliance)
  • • 而MySQL-python现在还不支持Python3, 仅支持 python2.4 ~ python2.7

解决方案

当抽丝剥茧找到问题的根本原因时,解决方案也就来了,那就是 换一个包 😂。

使用替代包mysqlclient (它是MySQL-python的分支并且支持Python3)

  • • conda安装 - conda install mysqlclient
  • • pip安装 - pip install mysqlclient==2.1.1

参考


本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

相关推荐
东莞市云毅网络有限公司11 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
李兆龙的博客13 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
数字融合13 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi01113 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
Marst Code14 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界
python
倔强的石头_15 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间15 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西15 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
李日华大战鸡红15 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
禾小西16 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis