MySQL-python 未安装在 virtualenv 中(EnvironmentError: mysql_config not found)

Posted

技术标签:

【中文标题】MySQL-python 未安装在 virtualenv 中(EnvironmentError: mysql_config not found)【英文标题】:MySQL-python is not getting installed in virtualenv(EnvironmentError: mysql_config not found) 【发布时间】:2015-11-27 18:55:30 【问题描述】:

我正在构建一个需要 mysql 作为后端的 django 项目。

我创建了一个 virtualenv 并尝试使用 pip 安装 MySQL-python

pip install MySQL-python
    Downloading/unpacking MySQL-python==1.2.5
  Downloading MySQL-python-1.2.5.zip (108kB): 108kB downloaded
  Running setup.py (path:/home/sayone/virtual/myvinotype/build/MySQL-python/setup.py) egg_info for package MySQL-python
    sh: 1: mysql_config: not found
........
EnvironmentError: mysql_config not found

通过搜索发现需要安装libmysqlclient-dev

sudo apt-get install libmysqlclient-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libmysqlclient-dev : Depends: libmysqlclient18 (= 5.5.44-0ubuntu0.14.04.1) but 10.0.21+maria-1~trusty is to be installed
E: Unable to correct problems, you have held broken packages.

要安装MySQL-python,我们需要安装libmysqlclient-dev,但它最终与mariadb存在未满足的依赖关系(不确定)

操作系统:Ubuntu 14.04 LTS

非常感谢任何帮助。

编辑: 安装sudo apt-get install libmariadbclient-dev 后,我可以毫无问题地安装MySQL-python(我不确定这是否可以作为答案添加)。

【问题讨论】:

如果您使用的是 python 3.4 版本,我建议您切换回 2.7 版本。安装mysql时3.4版本有问题。 @MuhammadShoaib Django docs 建议使用mysqlclient 而不是MySQL-python。它适用于 Python 3.3+,因此无需降级到 2.7。 @MuhammadShoaib 我正在使用 python 2.7 【参考方案1】:

运行apt-cache policy libmysqlclient18 & 你会看到你有一个来自mariadblibmysqlclient18 版本。如果他们不提供开发包,那么您将需要在没有开发包的情况下生活,或者摆脱 mariadb 和任何安装的东西

【讨论】:

apt-cache 策略 libmysqlclient18 libmysqlclient18:已安装:10.0.21+maria-1~trusty 候选:10.0.21+maria-1~trusty 版本表:*** 10.0.21+maria-1 ~trusty 0 500 ams2.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty/main amd64 包 100 /var/lib/dpkg/status 5.5.44-0ubuntu0.14.04.1 0 500 in.archive.ubuntu.com/ubuntu trusty-updates/main amd64 包 500 security.ubuntu.com/ubuntu trusty-security/主 amd64 包 5.5.35+dfsg-1ubuntu1 0 500 in.archive.ubuntu.com/ubuntu trusty/main amd64 Ajay Gupta 我没有得到我应该做什么,请在上面的评论中找到apt-cache policy libmysqlclient18 的结果。但是在sudo apt-get install libmariadbclient-dev 之后,我可以毫无问题地安装MySQL-python

以上是关于MySQL-python 未安装在 virtualenv 中(EnvironmentError: mysql_config not found)的主要内容,如果未能解决你的问题,请参考以下文章

mysql-python 安装

在windows下MySQL-python的安装

mysql-python 不会在 MacOS 上安装

关于在Python3.6下安装MySQL-python模块的问题

安装 mysql-python 时出错:找不到 -lssl 的库

pip安装mysql-python出错