安装MySQL-python


69

尝试在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

Answers:


160

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

sudo apt-get install python-mysqldb

如果您实际上要使用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

1
能解释一下你真正的意思吗?
user618677 2011年

我认为他是说如果您将python-mysqldb作为存储库软件包安装,系统将为您处理依赖关系管理,同时意识到它也需要安装libmysqlclient-dev
ftartaggia

2
@ user618677:sudo apt-get install python-mysqldb
jfs

谢谢大家,它奏效了。很明显,我需要学习更多Ubuntu。
user618677 2011年

1
如我答案末尾提到的@zalun,如果要使用pip(在virtualenv中),则必须手动安装必备组件。
Glaslos 2013年

15

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


像Glaslos这样的分发包建议:

# sudo apt-get install python-mysqldb

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

# virtualenv --system-site-packages myenv

使用clean 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




1
  1. 找到文件夹:(sudo find / -name "mysql_config"假设是"/opt/local/lib/mysql5/bin"

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

  3. 再次安装


1

Python或带有MySQL的Python3,您将需要这些。这些库使用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


0

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

sudo apt install build-essential python-dev libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.