使用pip和Python 3.6在Ubuntu 16.04上安装mysqlclient时出错

时间:2017-02-10 06:18:56

标签: python ubuntu python-3.6

尝试使用 pip + Python 3.6 Ubuntu 16.04 Xenial 上安装 mysqlclient 时出现奇怪错误>:

 pip install mysqlclient

输出:

 _mysql.c:40:20: fatal error: Python.h: No such file or directory
 compilation terminated.
 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

installation requirements之后,我尝试了安装所需的库,但到目前为止还没有运气。

sudo apt-get install python3-dev libmysqlclient-dev

有人知道此问题的解决方法吗?

4 个答案:

答案 0 :(得分:28)

我发现问题,似乎是在 python3.6 中安装 mysqlclient python3.6-dev是必需的

只需打开终端并运行以下命令:

sudo apt-get install python3.6-dev libmysqlclient-dev

尝试安装库时可能会出现以下错误:

Reading state information...
E: Unable to locate package python3.6-dev
E: Couldn't find any package by glob 'python3.6-dev'
E: Couldn't find any package by regex 'python3.6-dev'

如果是这种情况,请先尝试添加以下存储库:

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update

执行此操作后,您应该能够同时安装 python3.6 python3.6-dev 软件包。

答案 1 :(得分:3)

我收到此错误

/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

1个解决方案

打开新终端并运行此命令

sudo apt-get install libssl-dev

在安装mysqlclient之后

pip install mysqlclient

2解决方案

安装MySQL数据库连接器

我们需要做的第一件事是安装python3-dev。您可以通过运行以下命令来安装python3-dev:

sudo apt-get install python3-dev

一旦安装了python3-dev,我们就可以安装必要的Python和MySQL开发标头和库:

sudo apt-get install python3-dev libmysqlclient-dev

然后,我们将使用pip3从PyPi安装mysqlclient库。由于我们的pip版本指向pip3,因此我们只能使用pip。

pip install mysqlclient

参考链接: enter image description here

答案 2 :(得分:1)

我在python 3.6.3上安装mysqlclient时遇到了麻烦,所以 我降级到版本3.6.2并且它有效。

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev  libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/bin
sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
sudo tar xzf Python-3.6.2.tgz
cd Python-3.6.2
sudo ./configure --enable-optimizations
sudo make altinstall

python3.6应该指向3.6.2

python --version # Python 3.6.2

现在安装mysqlclient

python3.6 -m pip install mysqlclient

read more

答案 3 :(得分:0)

我曾经遇到过同样的问题:

#sudo pip3 install mysqlclient fails with mysql_config not found
sudo apt-get install libmysqlclient-dev
#without pip3 it will not going to work for python3
sudo pip3 install mysqlclient

使用上述方法解决。

reference link