热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MacinstallMySQLpython报错_mysql.c:44:10:fatalerror:‘my_config.h‘filenotfound

正常来说直接执行pip安装,就是可以的,但是MySQL-python偏偏比较独特pipinstallMySQL-python报错:_m

正常来说直接执行pip安装,就是可以的,但是MySQL-python偏偏比较独特

pip install MySQL-python

报错:

_mysql.c:44:10: fatal error: 'my_config.h' file not found#include "my_config.h"^~~~~~~~~~~~~1 error generated.error: command 'cc' failed with exit status 1

解决第一个问题
执行brew install mysql-connector-c

brew install mysql-connector-c

如果这一步直接完成,那就可以继续pip install MySQL-python了,应该会成功
但是我在这一步执行失败了

遇到第二个问题
brew install mysql-connector-c报错

Error: Cannot install mysql-connector-c because conflicting formulae are installed.mysql: because both install MySQL client librariesPlease `brew unlink mysql` before continuing.

解决第二个问题
按照报错的提示,执行brew unlink mysql
没有发生什么意外,执行完毕,继续执行brew install mysql-connector-c
‘mysql-connector-c’安装成功
执行brew link --overwrite mysql,重新连接mysql(这一步我没有做)
然后再执行pip install MySQL-python,如果成功了就搞定了
神奇的是,我在这一步又失败了

遇到的第三个问题
上面的步骤走完以后,执行pip install MySQL-python,报错

Collecting mysqlDownloading https://files.pythonhosted.org/packages/06/ef/c4efbf2a51fb46aba9be03a973638d9539c9ca10a5259b2cbb1a66133b2e/mysql-0.0.1.tar.gz
Collecting MySQL-python (from mysql)Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zipComplete output from command python setup.py egg_info:Traceback (most recent call last):File "", line 1, in <module>File "/private/var/folders/zn/t8xxx4m149s9jqp1810ndrz80000gn/T/pip-install-oHMKPE/MySQL-python/setup.py", line 17, in <module>metadata, options &#61; get_config()File "setup_posix.py", line 53, in get_configlibraries &#61; [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]File "setup_posix.py", line 8, in dequoteif s[0] in "\"&#39;" and s[0] &#61;&#61; s[-1]:IndexError: string index out of range

解决第三个问题
修改mysql的配置文件mysql_config&#xff0c;修改前记得cp一下
执行mysql_config&#xff0c;查看一下路径
打开文件vim mysql_config&#xff0c;找到libs&#61;"$libs -l "&#xff0c;改为

libs&#61;"$libs -lmysqlclient -lssl -lcrypto "libs&#61;"-L$pkglibdir"
# libs&#61;"$libs -l " # 原来的
libs&#61;"$libs -lmysqlclient -lssl -lcrypto " # 更改后的
embedded_libs&#61;"-L$pkglibdir"
embedded_libs&#61;"$embedded_libs -l "

如果继续报错提示&#xff1a;

ld: library not found for -lssl

可以删除掉 -lssl即可&#xff0c;同理如果提示&#xff1a;

ld: library not found for -lcrypto

删除-lcrypto即可

再来一遍pip install MySQL-python
终于成功了&#xff01;可喜可贺&#xff01;可喜可贺&#xff01;大功告成&#xff01;&#xff01;&#xff01;
小心翼翼的试一下&#xff0c;import MySQLdb&#xff0c;真的成功了

发现第四个问题
开始使用的时候&#xff0c;发现自己用的是python2.x的环境&#xff0c;换成python3.x继续用
在import MySQLdb的时候又出问题了&#xff0c;ModuleNotFoundError: No module named ‘MySQLdb’
尝试使用pip3 install MySQL-python再安装一次&#xff0c;报错

Collecting MySQL-pythonUsing cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zipComplete output from command python setup.py egg_info:Traceback (most recent call last):File "", line 1, in <module>File "/private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/setup.py", line 13, in <module>from setup_posix import get_configFile "/private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/setup_posix.py", line 2, in <module>from ConfigParser import SafeConfigParserModuleNotFoundError: No module named &#39;ConfigParser&#39;----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/

解决第四个问题
查到了原因&#xff0c;感到一阵阵的无语
In Python 3, ConfigParser has been renamed to configparser for PEP 8 compliance. It looks like the package you are installing does not support Python 3.
在Python3中&#xff0c;ConfigParser为了符合PEP8规范&#xff0c;已重命名为configparser。看起来你正在安装的软件包不支持Python3。

因为不支持python3&#xff0c;建议使用pip install pymysql&#xff0c;安装也没那么多套路
其实也找到了解决方案&#xff08;没有测试&#xff0c;我也不知道对不对&#xff0c;单纯的记录一下&#xff09;
方法一, 修改six模块为

try:import configparser
except:from six.moves import configparser

方法二

cp /usr/local/lib/python3.7/configparser.py /usr/local/lib/python3.7/ConfigParser.py

修改转自&#xff1a;https://www.wxy.email/2019/06/26/MySQL-python/


推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
mobiledu2502869153
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有