Centos7 pip 安装MySQLdb(mysql-python)出错
租了个阿里云的Centos7的ECS,需要使用pip安装MySQLdb模块。也就是mysql-python模块。
但是遇到问题
Collecting mysql-python
Downloading https://pypi.doubanio.com/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
100% |████████████████████████████████| 112kB 1.0MB/s
Complete output from command python setup.py egg_info:
sh: mysql_config: 未找到命令
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-ulw6QD/mysql-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ulw6QD/mysql-python/
找不到mysql_config文件。
网上找了一下出错的原因,原因是没有安装mysql-devel。
用yum安装
sudo yum install mysql-devel
出现问题:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-devel.x86_64.1.5.5.52-1.el7 将被 安装
--> 正在处理依赖关系 mariadb-libs(x86-64) = 1:5.5.52-1.el7,它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
--> 正在处理依赖关系 openssl-devel(x86-64),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.1e-60.el7_3.1 将被 安装
--> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.1e-60.el7_3.1.x86_64 需要
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.1e-60.el7_3.1.x86_64 需要
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.14.1-27.el7_3 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.14.1-27.el7_3,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.14.1-27.el7_3.x86_64 需要
---> 软件包 zlib-devel.x86_64.0.1.2.7-17.el7 将被 安装
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-9.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.14.1-27.el7_3 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-6.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-6,它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-6.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-6.el7 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-15.el7_2.1 将被 安装
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
--> 正在使用新的信息重新解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 安装
--> 正在处理依赖关系 mariadb-libs(x86-64) = 1:5.5.52-1.el7,它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:mariadb-devel-5.5.52-1.el7.x86_64 需要
--> 解决依赖关系完成
错误:软件包:1:mariadb-devel-5.5.52-1.el7.x86_64 (base)
需要:mariadb-libs(x86-64) = 1:5.5.52-1.el7
错误:软件包:1:mariadb-devel-5.5.52-1.el7.x86_64 (base)
需要:libmysqlclient.so.18()(64bit)
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行: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目录下已经下载好了这些文件
[kicc@Dmc mebeforeU]$ ls /home
kicc mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
mysql-community-client-5.7.16-1.el7.x86_64.rpm mysql-community-minimal-debuginfo-5.7.16-1.el7.x86_64.rpm
mysql-community-common-5.7.16-1.el7.x86_64.rpm mysql-community-server-5.7.16-1.el7.x86_64.rpm
mysql-community-devel-5.7.16-1.el7.x86_64.rpm mysql-community-server-minimal-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-5.7.16-1.el7.x86_64.rpm mysql-community-test-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.16-1.el7.x86_64.rpm tomcat
mysql-community-embedded-devel-5.7.16-1.el7.x86_64.rpm uftp
mysql-community-libs-5.7.16-1.el7.x86_64.rpm
因此只要用rpm安装即可:(按序)
[kicc@Dmc home]$ sudo rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
[kicc@Dmc home]$ sudo rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
[kicc@Dmc home]$ sudo rpm -ivh mysql-community-devel-5.7.16-1.el7.x86_64.rpm
[kicc@Dmc home]$ sudo rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
[kicc@Dmc home]$ sudo rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
我的服务器上除了
mysql-community-devel-5.7.16-1.el7.x86_64.rpm,其他都已经安装。这也就是mysql-devel始终无法安装的原因。
安装完之后,就是安装了mysql-devel。此时再安装mysql-python。pip install mysql-python
>pip install mysql-python
Collecting mysql-python
Downloading https://pypi.doubanio.com/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
100% |████████████████████████████████| 112kB 290kB/s
Building wheels for collected packages: mysql-python
Running setup.py bdist_wheel for mysql-python ... done
Stored in directory: /home/kicc/.cache/pip/wheels/5a/7c/08/462460b38b37adfc478e73bbf2e4ae809d57384f567ded548f
Successfully built mysql-python
Installing collected packages: mysql-python
Successfully installed mysql-python-1.2.5
顺便提一句mysql的密码如何重置:
修改/ect/ 下的my.cnf文件
sudo vi /etc/my.cnf
插入
skip-grant-tables
保存文件。语句的作用是不需要密码就能够登录mysql
> mysql
登录后,use mysql,输入:
update user set password = password("147258")where user='root';
或者
update user set password = authentication_string("147258")where user='root' and Host='localhost';
再将
skip-grant-tables 注释掉即可。
这样就重置了mysql的密码,可以使用新密码登录mysql。
结束。之前在utuntu上也出过这个问题,解决起来会容易一些。有空在写一下吧...
Centos7 pip 安装MySQLdb(mysql-python)出错的更多相关文章
- 用PIP 安装或升级python遇到错误提示
用PIP 安装或升级python遇到错误提示 $ pip install pythons Collecting pythons Could not find a version that satisf ...
- windows7环境下使用pip安装MySQLdb for python3.7
1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python37\Scripts里 ...
- windows7环境下使用pip安装MySQLdb
1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python27\Scripts里 ...
- 修改pip安装源加快python模块安装
用pip安装依赖包时默认访问https://pypi.python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有: http://pypi ...
- [pip]安装和管理python第三方包
使用 ”pip install 包名“ 直接下载安装第三方包 1.在以下地址下载最新的PIP安装文件:http://pypi.python.org/pypi/pip#downloads2.下载Wi ...
- (转) Linux(Centos7)yum安装最新mysql
原文:http://blog.csdn.net/gebitan505/article/details/54613549 环境 CentOS 7.1 (64-bit system) MySQL 5.6. ...
- Centos7 下安装Apache2 + MySQL + PHP7
Apache 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl enable httpd.service 若要验证是否自动启动可在重 ...
- 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 ...
- Linux(Centos7)yum安装最新mysql
环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 CentOS 安装 参考:http://www.waylau.com/centos-7-installation- ...
随机推荐
- Flutter - > Android dependency 'com.android.support:support-v4' has different version for the compile (26.1.0) and runtime (27.1.1) classpath.
Launching lib\main.dart on Nokia X6 in debug mode... Initializing gradle... Resolving dependencies.. ...
- 【前端模板之路】一、重构的兄弟说:我才不想看你的代码!把HTML给我交出来!
写在前面 随着前端领域的发展和社会化分工的需要,继前端攻城湿之后,又一重要岗位横空出世——重构攻城湿!所谓的重构攻城湿,他们的一大特点之一,就是精通CSS配置文件的编写...前端攻城湿跟重构攻城湿是一 ...
- 设置pdsh的默认登录模式
1.check your pdsh default rcmd rsh pdsh -q -w localhostSee what your pdsh default rcmd is. 2.Modify ...
- Python学习过程笔记整理(三)
函数 -函数使用 -函数需要先定义,定义不会执行函数 -使用函数,俗称调用 -定义函数 -格式:def 函数名称(参数=默认值):,函数名称不能用大驼峰,参数可以没有 -调用函数 -格式:函数名(参数 ...
- CF刷题-Codeforces Round #481-F. Mentors
题目链接:https://codeforces.com/contest/978/problem/F 题目大意: n个程序员,k对仇家,每个程序员有一个能力值,当甲程序员的能力值绝对大于乙程序员的能力值 ...
- ESP8266/ESP32模块晶振频偏调试
ESP8266/ESP32模块晶振频偏调试 !> 前提:晶振频偏调试是需要仪器设备的支持才能完成的. 测试环境:IQ2010综合测试仪 本文仅记录有关频偏调试的主要内容,其余不在赘述. IQ20 ...
- Kubernetes中的网络
一.引子 既然Kubernetes中将容器的联网通过插件的方式来实现,那么该如何解决这个的联网问题呢? 如果你在本地单台机器上运行docker容器的话注意到所有容器都会处在docker0网桥自动分配的 ...
- Unity3D画面渲染官方教程(一)对光照和渲染的介绍
本系列是对官方教程的翻译加上自己的一些理解译著的,官方网址:https://unity3d.com/cn/learn/tutorials/s/graphics 翻译上尽量保证准确性,但不排除省略或者添 ...
- 2018Java年底总结
一年又过去了,这是我的第二年的JAVA开发,总感觉有很多想说的,可惜语言组织能力着实一般,以下列举一些今年的总结. 1.首先告诫一下新入行或者新入职经验不多的小伙伴,写sql的时候根据业务能单表就单表 ...
- PLSQL面向对象
```sql --定义可被SQL语句调用的子程序 create or replace function getempdept( p_empno emp.empno%type )return ...