Как подключиться к MySQL db из python 3 16.04

Я следую этому руководству, чтобы я мог установить коннектор MySQL для Python 3.

https://stackoverflow.com/questions/43501080/how-to-connect-to-mysql-db-from-python-3-on-ubuntu-16

К сожалению, когда я набрал:

(env) pip install mysqlclient

Collecting mysqlclient
  Downloading mysqlclient-1.3.12.tar.gz (89kB)
    100% |████████████████████████████████| 92kB 1.4MB/s 
Building wheels for collected packages: mysqlclient
  Running setup.py bdist_wheel for mysqlclient ... error
  Complete output from command /home/hugh/SAT/env/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sbgaxask/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpqgsp3qwwpip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.5
  copying _mysql_exceptions.py -> build/lib.linux-x86_64-3.5
  creating build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/__init__.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/compat.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/connections.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/converters.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/cursors.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/release.py -> build/lib.linux-x86_64-3.5/MySQLdb
  copying MySQLdb/times.py -> build/lib.linux-x86_64-3.5/MySQLdb
  creating build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
  running build_ext
  building '_mysql' extension
  creating build/temp.linux-x86_64-3.5
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Dversion_info=(1,3,12,'final',0) -D__version__=1.3.12 -I/usr/include/mysql -I/usr/include/python3.5m -I/home/hugh/SAT/env/include/python3.5m -c _mysql.c -o build/temp.linux-x86_64-3.5/_mysql.o
  _mysql.c:32:20: fatal error: Python.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    Complete output from command /home/hugh/SAT/env/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sbgaxask/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-d4xggqn_-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/hugh/SAT/env/include/site/python3.5/mysqlclient:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.5
    copying _mysql_exceptions.py -> build/lib.linux-x86_64-3.5
    creating build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/__init__.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/compat.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/connections.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/converters.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/cursors.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/release.py -> build/lib.linux-x86_64-3.5/MySQLdb
    copying MySQLdb/times.py -> build/lib.linux-x86_64-3.5/MySQLdb
    creating build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-3.5/MySQLdb/constants
    running build_ext
    building '_mysql' extension
    creating build/temp.linux-x86_64-3.5
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Dversion_info=(1,3,12,'final',0) -D__version__=1.3.12 -I/usr/include/mysql -I/usr/include/python3.5m -I/home/hugh/SAT/env/include/python3.5m -c _mysql.c -o build/temp.linux-x86_64-3.5/_mysql.o
    _mysql.c:32:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/home/tom/SAT/env/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sbgaxask/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-d4xggqn_-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/hugh/SAT/env/include/site/python3.5/mysqlclient" failed with error code 1 in /tmp/pip-build-sbgaxask/mysqlclient/

Не могли бы вы посоветовать.

5
задан 27 December 2017 в 19:25

2 ответа

Вам нужны библиотеки разработки python для сборки модулей python:

sudo apt install python3-dev libpython3-dev

должен позаботиться об этом за вас.

Но рекомендуемый способ добавить это в Ubuntu - использовать репозитории Ubuntu. Таким образом, чтобы установить привязки mysql для python3, запустите

sudo apt install python3-mysqldb

. Это установит привязки, необходимые для подключения к mysql из Python 3, и гарантирует, что он будет обновлен вместе с другими пакетами вашей системы. Это рекомендуется, если вам специально не нужна более новая версия или пакет недоступен в репозиториях Ubuntu.

11
ответ дан 27 December 2017 в 19:25

MySQLdb dia tsy miara-miasa amin'ny Python 3. raha azo atao ny mivadika amin'ny MySQLdb dia manoro hevitra anao aho hampiasa MySQL mpampitohy Python . Satria miasa amin'ny Python 2 sy 3 izy roa ary mpamily Oracle ofisialy MySQL miasa miaraka amin'i Python.

pip install mysql-connector-python

raha tsy mahomby ny pip dia azonao atao ny misintona ny installer avy amin'ny https: //dev.mysql .com / alaina / connector / Python /

izany hoe fametrahana MySQL Connector mampiasa fonosana DEB Jereo ity toro-lalana ity mba hisintomana sy hametrahana

Ity modely ity dia manaraka ny Python Database API Specification v2.0 (PEP 249).

Avy eo ampiasao fomba fampifandraisana () ny python mpampitohy MySQL hifandray amin'ny MySQL.mampita ny fomba fiadian-kevitra ilaina hampifandraisina (). izany hoe Host, solonanarana, tenimiafina ary anarana database

6
ответ дан 27 December 2017 в 19:25
  • 1
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23
  • 2
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23
  • 3
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23
  • 4
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23
  • 5
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23
  • 6
    Благодаря всем, загрузил 11,10 альтернативных CD и установил прекрасный за немногим исключением, что я, кажется, должен зафиксировать это, я нашел, фиксирует для в другом месте. Проблемой теперь являются одни из тех мер, должен изменить XORG.CONFIG и меня can' t находят его в каталоге X11, как фиксация описывает, это скрыто, и раз так как я вывожу на экран его для изменения его. – David Gibson 31 May 2012 в 14:23

Другие вопросы по тегам:

Похожие вопросы: