【问题标题】:Installing MySQL-python安装 MySQL-python
【发布时间】:2011-11-19 13:26:54
【问题描述】:

尝试在我的 Ubuntu/Linux Box 上安装 MySQL-python 时出现以下故障。从下面看来问题是 sh: mysql_config: not found 有人可以建议我该怎么做吗?

rmicro@ubuntu:~$ pip install MySQL-python
Downloading/unpacking MySQL-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package MySQL-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/rmicro/build/MySQL-python/setup.py", line 15, 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 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/home/rmicro/build/MySQL-python/setup.py", line 15, 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 24, 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

【问题讨论】:

标签: python mysql


【解决方案1】:

在 Ubuntu 上,建议使用发行版存储库。所以安装 python-mysqldb 应该很简单:

sudo apt-get install python-mysqldb

如果您确实想使用 pip 安装,如前所述,不是建议的路径,但可能,请查看之前提出的问题和答案:pip install mysql-python fails with EnvironmentError: mysql_config not found

这里有一个非常全面的开发者指南:http://mysql-python.blogspot.no/2012/11/is-mysqldb-hard-to-install.html

要获得 python-mysqld 使用 pip 安装它的所有先决条件(如果你使用 virtualenv,你会想要这样做),运行以下命令:

sudo apt-get install build-essential python-dev libmysqlclient-dev

【讨论】:

  • 能解释一下你的真正意思吗?
  • 我想他是说如果你安装python-mysqldb作为repository包,系统会为你处理依赖管理,意识到它也需要安装libmysqlclient-dev
  • @user618677: sudo apt-get install python-mysqldb
  • 谢谢大家,成功了。很明显,我需要更多地了解 Ubuntu。
  • @zalun 如我的回答末尾所述,如果您想使用 pip(在 virtualenv 中),您必须手动安装先决条件。
【解决方案2】:

您有 2 个选项,如下所述:


建议像 Glaslos 这样的分发包:

# sudo apt-get install python-mysqldb

在这种情况下,您不能使用 virtualenv no-site-packages(默认选项) 但必须使用:

# virtualenv --system-site-packages myenv

使用干净的 virtualenv 并构建您自己的 python-mysql 包。

首先创建virtualenv:

# virtualenv myvirtualenv
# source myvirtualenv/bin/activate

然后安装构建依赖:

# sudo apt-get build-dep python-mysqldb

现在你可以安装python-mysql了

# pip install mysql-python

注意 Ubuntu 包是 python-mysql*db* ,python pypi 包是 python-mysql(没有 db

【讨论】:

    【解决方案3】:
    yum install mysql-devel
    

    它对我有用。

    【讨论】:

      【解决方案4】:

      重新阅读错误消息。它说:

      sh: mysql_config: 未找到

      如果你使用的是 Ubuntu Natty,mysql_config 属于包 libmysqlclient-dev

      【讨论】:

        【解决方案5】:
        1. 找到文件夹:sudo find / -name "mysql_config"(假设是"/opt/local/lib/mysql5/bin"

        2. 将其添加到 PATH:export PATH:export PATH=/opt/local/lib/mysql5/bin:$PATH

        3. 重新安装

        【讨论】:

          【解决方案6】:

          Python 或 Python3 与 MySQL,您将需要这些。这些库使用 MySQL 的 C 和 Python 连接器(您还需要安装 C 库),从而克服了 mysqldb 库的一些限制。

             sudo apt-get install libmysqlclient-dev
             sudo apt-get install python-mysql.connector
             sudo apt-get install python3-mysql.connector
          

          【讨论】:

            【解决方案7】:

            这在 python 3 上对我有用

            点安装mysqlclient

            【讨论】:

              【解决方案8】:

              在 Ubuntu Bionic 机器上的带有 virtualenv 的 python3 中,以下命令对我有用:

              sudo apt install build-essential python-dev libmysqlclient-dev
              sudo apt-get install libssl-dev
              pip install mysqlclient
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2018-12-09
                • 2014-02-21
                • 2016-11-27
                • 2010-12-07
                • 2013-12-01
                • 2016-12-21
                • 2012-10-11
                • 2013-05-02
                相关资源
                最近更新 更多