安装MySQL-python

use*_*677 66 python mysql

我试图在我的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
Run Code Online (Sandbox Code Playgroud)

Gla*_*los 157

在Ubuntu上,建议使用分发存储库.所以安装python-mysqldb应该是直截了当的:

sudo apt-get install python-mysqldb
Run Code Online (Sandbox Code Playgroud)

如果你真的想使用pip来安装,这是前面提到的不是建议的路径但可能的,请看一下之前提出的问题和答案:pip install mysql-python失败,出现EnvironmentError:找不到mysql_config

以下是开发人员非常全面的指南: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
Run Code Online (Sandbox Code Playgroud)

  • 这在virtualenv --no-site-packages下不起作用. (4认同)
  • @ user618677:`sudo apt-get install python-mysqldb` (2认同)

Luk*_*nko 15

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


像Glaslos这样的分发包建议:

# sudo apt-get install python-mysqldb
Run Code Online (Sandbox Code Playgroud)

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

# virtualenv --system-site-packages myenv
Run Code Online (Sandbox Code Playgroud)

使用clean virtualenv并构建自己的python-mysql包.

首先创建virtualenv:

# virtualenv myvirtualenv
# source myvirtualenv/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后安装构建依赖项:

# sudo apt-get build-dep python-mysqldb
Run Code Online (Sandbox Code Playgroud)

现在你可以安装python-mysql了

# pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

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


小智 9

yum install mysql-devel
Run Code Online (Sandbox Code Playgroud)

它对我有用.


gsb*_*bil 7

重新读取错误消息.它说:

sh:mysql_config:找不到

如果您使用的是Ubuntu Natty,则mysql_config属于libmysqlclient-dev软件包