租了个阿里云的Centos7的ECS,需要使用pip安装MySQLdb模块。也就是mysql-python模块。

但是遇到问题

  1. Collecting mysql-python
  2. Downloading https://pypi.doubanio.com/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
  3. 100% |████████████████████████████████| 112kB 1.0MB/s
  4. Complete output from command python setup.py egg_info:
  5. sh: mysql_config: 未找到命令
  6. Traceback (most recent call last):
  7. File "<string>", line 1, in <module>
  8. File "/tmp/pip-build-ulw6QD/mysql-python/setup.py", line 17, in <module>
  9. metadata, options = get_config()
  10. File "setup_posix.py", line 43, in get_config
  11. libs = mysql_config("libs_r")
  12. File "setup_posix.py", line 25, in mysql_config
  13. raise EnvironmentError("%s not found" % (mysql_config.path,))
  14. EnvironmentError: mysql_config not found
  15.  
  16. ----------------------------------------
  17. Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ulw6QD/mysql-python/

  

找不到mysql_config文件。

网上找了一下出错的原因,原因是没有安装mysql-devel。

用yum安装

  1. sudo yum install mysql-devel

  

出现问题:

  1. 已加载插件:fastestmirror
  2. Loading mirror speeds from cached hostfile
  3. 正在解决依赖关系
  4. --> 正在检查事务
  5. ---> 软件包 mariadb-devel.x86_64.1.5.5.52-1.el7 将被 安装
  6. --> 正在处理依赖关系 mariadb-libs(x86-64) = 1:5.5.52-1.el7,它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
  7. --> 正在处理依赖关系 openssl-devel(x86-64),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
  8. --> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
  9. --> 正在检查事务
  10. ---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 安装
  11. ---> 软件包 openssl-devel.x86_64.1.1.0.1e-60.el7_3.1 将被 安装
  12. --> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.1e-60.el7_3.1.x86_64 需要
  13. --> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.1e-60.el7_3.1.x86_64 需要
  14. --> 正在检查事务
  15. ---> 软件包 krb5-devel.x86_64.0.1.14.1-27.el7_3 将被 安装
  16. --> 正在处理依赖关系 libkadm5(x86-64) = 1.14.1-27.el7_3,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
  17. --> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
  18. --> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
  19. --> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
  20. --> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
  21. ---> 软件包 zlib-devel.x86_64.0.1.2.7-17.el7 将被 安装
  22. --> 正在检查事务
  23. ---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
  24. ---> 软件包 libcom_err-devel.x86_64.0.1.42.9-9.el7 将被 安装
  25. ---> 软件包 libkadm5.x86_64.0.1.14.1-27.el7_3 将被 安装
  26. ---> 软件包 libselinux-devel.x86_64.0.2.5-6.el7 将被 安装
  27. --> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-6,它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
  28. --> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
  29. --> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
  30. ---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
  31. --> 正在检查事务
  32. ---> 软件包 libsepol-devel.x86_64.0.2.5-6.el7 将被 安装
  33. ---> 软件包 pcre-devel.x86_64.0.8.32-15.el7_2.1 将被 安装
  34. Removing mariadb-libs.x86_64 1:5.5.52-1.el7 - u due to obsoletes from installed mysql-community-libs-5.7.16-1.el7.x86_64
  35. --> 正在使用新的信息重新解决依赖关系
  36. --> 正在检查事务
  37. ---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 安装
  38. --> 正在处理依赖关系 mariadb-libs(x86-64) = 1:5.5.52-1.el7,它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
  39. --> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
  40. --> 解决依赖关系完成
  41. 错误:软件包:1:mariadb-devel-5.5.52-1.el7.x86_64 (base)
  42. 需要:mariadb-libs(x86-64) = 1:5.5.52-1.el7
  43. 错误:软件包:1:mariadb-devel-5.5.52-1.el7.x86_64 (base)
  44. 需要:libmysqlclient.so.18()(64bit)
  45. 您可以尝试添加 --skip-broken 选项来解决该问题
  46. 您可以尝试执行:rpm -Va --nofiles --nodigest

  

可以看到安装的其实是mariadb。这是mysql的一个分支,原因好像是Centos7安装mysql需要付费(不太清楚)。

我的解决办法是:

去mysql官网下载文件,下载地址 http://dev.mysql.com/downloads/mysql/

按图选择版本

选择第一个下载并解压。使用WinSCP登陆到虚拟机,将rpm文件拷贝到centOS 下的/usr/local/mysql下(来自http://blog.csdn.net/f7anty/article/details/51959463)

其实阿里云在/home目录下已经下载好了这些文件

  1. [kicc@Dmc mebeforeU]$ ls /home
  2. kicc mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
  3. mysql-community-client-5.7.16-1.el7.x86_64.rpm mysql-community-minimal-debuginfo-5.7.16-1.el7.x86_64.rpm
  4. mysql-community-common-5.7.16-1.el7.x86_64.rpm mysql-community-server-5.7.16-1.el7.x86_64.rpm
  5. mysql-community-devel-5.7.16-1.el7.x86_64.rpm mysql-community-server-minimal-5.7.16-1.el7.x86_64.rpm
  6. mysql-community-embedded-5.7.16-1.el7.x86_64.rpm mysql-community-test-5.7.16-1.el7.x86_64.rpm
  7. mysql-community-embedded-compat-5.7.16-1.el7.x86_64.rpm tomcat
  8. mysql-community-embedded-devel-5.7.16-1.el7.x86_64.rpm uftp
  9. mysql-community-libs-5.7.16-1.el7.x86_64.rpm

  

因此只要用rpm安装即可:(按序)

  1. [kicc@Dmc home]$ sudo rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
  2. [kicc@Dmc home]$ sudo rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
  3. [kicc@Dmc home]$ sudo rpm -ivh mysql-community-devel-5.7.16-1.el7.x86_64.rpm
  4. [kicc@Dmc home]$ sudo rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
  5. [kicc@Dmc home]$ sudo rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

  

我的服务器上除了

  1. mysql-community-devel-5.7.16-1.el7.x86_64.rpm,其他都已经安装。这也就是mysql-devel始终无法安装的原因。

安装完之后,就是安装了mysql-devel。此时再安装mysql-python。pip install mysql-python

  1. >pip install mysql-python
  2. Collecting mysql-python
  3. Downloading https://pypi.doubanio.com/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
  4. 100% |████████████████████████████████| 112kB 290kB/s
  5. Building wheels for collected packages: mysql-python
  6. Running setup.py bdist_wheel for mysql-python ... done
  7. Stored in directory: /home/kicc/.cache/pip/wheels/5a/7c/08/462460b38b37adfc478e73bbf2e4ae809d57384f567ded548f
  8. Successfully built mysql-python
  9. Installing collected packages: mysql-python
  10. Successfully installed mysql-python-1.2.5

  

顺便提一句mysql的密码如何重置:

修改/ect/ 下的my.cnf文件

  1. sudo vi /etc/my.cnf

 

插入

  1. skip-grant-tables

  

保存文件。语句的作用是不需要密码就能够登录mysql

> mysql

登录后,use  mysql,输入:

  1. update user set password = password("147258")where user='root';
  2. 或者
  3. update user set password = authentication_string("147258")where user='root' and Host='localhost';

  

再将

  1. skip-grant-tables 注释掉即可。

这样就重置了mysql的密码,可以使用新密码登录mysql。

结束。之前在utuntu上也出过这个问题,解决起来会容易一些。有空在写一下吧...

  

Centos7 pip 安装MySQLdb(mysql-python)出错的更多相关文章

  1. 用PIP 安装或升级python遇到错误提示

    用PIP 安装或升级python遇到错误提示 $ pip install pythons Collecting pythons Could not find a version that satisf ...

  2. windows7环境下使用pip安装MySQLdb for python3.7

    1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python37\Scripts里 ...

  3. windows7环境下使用pip安装MySQLdb

    1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python27\Scripts里 ...

  4. 修改pip安装源加快python模块安装

    用pip安装依赖包时默认访问https://pypi.python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有: http://pypi ...

  5. [pip]安装和管理python第三方包

    使用 ”pip install 包名“   直接下载安装第三方包 1.在以下地址下载最新的PIP安装文件:http://pypi.python.org/pypi/pip#downloads2.下载Wi ...

  6. (转) Linux(Centos7)yum安装最新mysql

    原文:http://blog.csdn.net/gebitan505/article/details/54613549 环境 CentOS 7.1 (64-bit system) MySQL 5.6. ...

  7. Centos7 下安装Apache2 + MySQL + PHP7

    Apache 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl enable httpd.service 若要验证是否自动启动可在重 ...

  8. python pip安装报错python setup.py egg_info failed with error code 1

    安装locust遇到点问题折腾了好一会儿,记录一下. 使用命令pip install locustio提示python setup.py egg_info  failed with error cod ...

  9. Linux(Centos7)yum安装最新mysql

    环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 CentOS 安装 参考:http://www.waylau.com/centos-7-installation- ...

随机推荐

  1. P4151 [WC2011]最大XOR和路径

    P4151 [WC2011]最大XOR和路径 一道妙极了的题. 首先直接从1走到n 然后现在图上有很多环 所以可以在走到n之后走到环上一个点,再走一遍环,再原路返回.这样就会xor上环的权值. 然后只 ...

  2. [BZOJ4475][JSOI2015]子集选取[推导]

    题意 题目链接 分析 显然可以看成一个位数为 \(n\) 的二进制数然后每一位分开考虑然后求和.最后的答案是 \(w^n\) 的形式. 考虑一个dp. 定义状态 \(f_{i}\) 表示选择了长度为 ...

  3. 从零开始自学 Java Web

    目录: 1.Java JDK下载安装及配置 2.eclipse下载与安装并测试 3.eclipse快捷键 4.Tomcat 下载与安装 5.Tomcat部署Web应用 6.Eclipse中配置Tomc ...

  4. css清除浮动clearfix:after的用法详解

    如果外部有一个div容器,其内部div容器设置了float样式,则外部的容器div因为内部没有clear,导致不能撑开.解决方法:  CSS代码: 复制代码 代码如下: .clearfix:after ...

  5. SpringBoot日记——登录与拦截器篇

    之前的文章我们把登录页写了出来,但是想要让登录现实他的基本功能,要如何做呢?本篇文章就来帮你实现第一步,让登录页对账号密码做校验,并且完成登录跳转. LoginController 1. 要实现登录, ...

  6. SQL常见面试题

    1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu张三    语文       81张三     数学       75李四     语文   ...

  7. 通过ftp同步服务器文件:遍历文件夹所有文件(含子文件夹、进度条);简单http同步服务器文件实例

    该代码主要实现,指定ftp服务地址,遍历下载该地址下所有文件(含子文件夹下文件),并提供进度条显示:另外附带有通过http地址方式获取服务器文件的简单实例 废话不多说,直接上代码: 1.FTPHelp ...

  8. JS对象,获取key和value

    var peopleArray=[] var peopleobj={jiangyx: "姜艳霞", yeluosen: "叶落森"} for(let i in ...

  9. 插件使用-HighChart

    一.介绍 让数据可视化更简单,兼容 IE6+.完美支持移动端.图表类型丰富.方便快捷的 HTML5 交互性图表库. 官网(英):https://www.highcharts.com/download ...

  10. 读取classpath配置文件的方法

    http://www.cnblogs.com/sprinng/p/5622600.html