错误:安装mysqlclient时命令'x86_64-linux-gnu-gcc'

Sas*_*eti 10 mysql django python-3.4

我在virtualenv中安装了django 1.8.5并使用python 3.4.3工作时使用sqlite 显示了它的工作页面

我想使用mysql,我正在尝试使用mysqlclient

pip install mysqlclient

我收到以下消息

----------------------------------------
Failed building wheel for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient
Complete output from command /home/sasidhar/django/env/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-5lj39q67/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-da2_35zs-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/sasidhar/django/env/include/site/python3.4/mysqlclient:
running install
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-x86_64-3.4/MySQLdb
running build_ext
building '_mysql' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Dversion_info=(1,3,6,'final',1) -D__version__=1.3.6 -I/usr/include/mysql -I/usr/include/python3.4m -I/home/sasidhar/django/env/include/python3.4m -c _mysql.c -o build/temp.linux-x86_64-3.4/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
_mysql.c:40:20: fatal error: Python.h: No such file or directory
 #include "Python.h"
                    ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Command "/home/sasidhar/django/env/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-5lj39q67/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-da2_35zs-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/sasidhar/django/env/include/site/python3.4/mysqlclient" failed with error code 1 in /tmp/pip-build-5lj39q67/mysqlclient
Run Code Online (Sandbox Code Playgroud)

我确实尝试安装错误建议的库:安装脚本退出并显示错误:命令'x86_64-linux-gnu-gcc'失败,退出状态为1

仍然问题仍然存在请帮我解决这个问题
谢谢你们!

Pau*_*aul 30

你需要安装python-dev:

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

而且,因为你使用的是python3:

sudo apt-get install python3-dev
Run Code Online (Sandbox Code Playgroud)

这个命令可以帮到你.

如果您使用的是mac os,可以尝试:

brew update && brew rm python3 && brew install python3
Run Code Online (Sandbox Code Playgroud)

你需要brew已经安装,否则你可以安装它.它对于在Mac OS中获取包非常有用.http://brew.sh/


小智 20

对于 Ubuntu,您还需要安装 build-essential

sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)

  • 这应该添加到主要答案中。它可能是 ubuntu 特定的(我不知道,但我不需要在 linux mint 上安装它来解决同样的问题),但它肯定会帮助很多人解决这个问题。 (3认同)

dav*_*vid 6

对于那些使用不同版本的人,比如 Python 3.5、3.6 或 3.7,我发现了这个

第一部分

对于Python 2.x使用:

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

对于Python 2.7使用:

  $ sudo apt-get install libffi-dev
Run Code Online (Sandbox Code Playgroud)

对于Python 3.x使用:

  $ sudo apt-get install python3-dev
Run Code Online (Sandbox Code Playgroud)

对于Python 3.4使用:

  $ sudo apt-get install python3.4-dev
Run Code Online (Sandbox Code Playgroud)

对于Python 3.7使用:

  $ sudo apt-get install python3.7-dev
Run Code Online (Sandbox Code Playgroud)

第二部分

如果这仍然没有帮助,其他人已经指出安装

  $ sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)

最后

  $ sudo apt-get install libssl-dev
Run Code Online (Sandbox Code Playgroud)

但是最后两个对我个人没有帮助。以防万一,希望对你有帮助。

  • 最后两个有帮助。太感谢了 (2认同)

Psd*_*ddp 5

对于那些使用python3.5:

apt-get install python3.5-dev
wget https://bootstrap.pypa.io/get-pip.py
python3.5 get-pip.py
pip3.5 install mysqlclient
Run Code Online (Sandbox Code Playgroud)