pip를 사용하여 Python MySQLdb 모듈을 설치하는 방법은 무엇입니까?


310

pip를 사용하여 Python 용 MySQLdb 모듈을 어떻게 설치 합니까?


11
Python3과 함께 이것을 사용하려면 (예를 들어, 최신 버전의 Django와 같이) MysqlDB는 python3을 지원하지 않으므로 mysqlclient가 필요합니다. 이 질문
TD Smith

지금까지 아무런 문제없이 Python 2.7 및 MariaDB와 함께 mysqlclient를 사용하고 있습니다.
Dave Everitt

답변:


522

쉬운 일이지만 올바른 철자를 기억하기는 어렵습니다.

pip install mysqlclient

1.2.x 버전이 필요한 경우 (레거시 Python 만 해당) pip install MySQL-python

참고 : 위 명령을 실행할 때 일부 종속성이 있어야합니다. 다양한 플랫폼에 설치하는 방법에 대한 힌트 :

데비안 우분투 14, 데비안 16 (jessie)

sudo apt-get install python-pip python-dev libmysqlclient-dev

페도라 24 :

sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc

맥 OS

brew install mysql-connector-c

실패하면 시도해보십시오

brew install mysql

26
전체 이름을 기억할 pip search mysql필요는 없으며 출력에서 ​​필요한 이름을 사용 하고 찾을 수 있습니다 .
WKPlus

12
@ WKPlus : 맞아 ...하지만 그것을 찾지 못했습니다 pip search mysqldb. 따라서 나는이 답변을 +1합니다.
Dan H

7
@WKPlus는 실제로 mysql의 pip 검색 후 올바른 선택을 찾는 것은 매우 번거로운
kommradHomer

9
나는 매번 구글을 검색해야하므로 망할 놈
sleepycal

3
@DavidOkwii virtualenv 내부에 있지 않은 경우 sudo가 필요합니다. 그것은 당신의 문제 일 수 있습니다.
Marian

138

새로운 Ubuntu 14.04.2 시스템부터 다음 두 가지 명령이 필요했습니다.

 apt-get install python-dev libmysqlclient-dev
 pip install MySQL-python

"pip install"자체만으로는 작동하지 않았습니다.

에서 http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/


2
이것은 어떤 이유로 든 간단한 pip 설치가 우분투에서 깨끗하게 작동하지 않습니다
Dap

우분투 14.04에서 오류 얻을 것이다 "인상 EnvironmentError을 ("% 나 저장 시간 "% (mysql_config.path)"및 문제 해결 첫 cmd를, 감사를 찾을 수 없습니다 s의
zhihong

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1사용 수정sudo apt-get install build-essential
FelikZ

왜 이것이 필요한지 궁금합니다. 한 가지 일이 나에게 일어난다. 나는 건물 만 설치하고 설치하지 않고 이것을 테스트했다. 설치하지 않고 설치 한 것을 구축 했습니까?
Ray Kiddy

이것은 물론 우분투에 대한 답변이어야합니다.
Roon13

23

먼저

pip install pymysql

그런 다음 아래 코드를 __init__.py( projectname/__init__.py)에 넣으십시오.

import pymysql
pymysql.install_as_MySQLdb()

내 환경은 (python3.5, django1.10) 이며이 솔루션은 저에게 효과적입니다!

도움이 되었기를 바랍니다!!


3
우와, 나는 성공하지 않고 이것을 고치려고 노력하는 5 시간 이상을 허리에 걸렸다. 이것은 우분투 16.04 / python 3.5 / Django 1.11에서 작동 한 유일한 솔루션입니다. 이것을 공유해 주셔서 감사합니다.
Paullo

이것은 나를 위해 작동하지 않습니다, 내 환경은 python 3.7 및 django 2.2입니다. 도와주세요.
Rajen K Bhagat

이것은 저기에 있어야합니다. 몇 시간 동안 솔루션을 탐색했습니다. django 1.6을 실행하는 python 2.7의 virtualenv가 있습니다. MySQL-python이나 mysqlclient를 설치할 수 없습니다. 아무리 노력해도 "치명적인 오류 : mysql.h"가 발생했습니다. 이것은 트릭을 수행했습니다.
rolandsaven

22

Pip (문제점 컴파일 문제)를 통해 Windows에 64 비트 버전의 MySQLdb를 설치하는 데 문제가있었습니다. [32 비트 버전이 정상적으로 설치되었습니다]. http://www.lfd.uci.edu/~gohlke/pythonlibs/에 있는 .whl 파일에서 컴파일 된 MySQLdb를 설치하도록 관리

그런 다음 .whl 파일을 pip를 통해 문서로 설치할 수 있습니다. https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels의

예를 들어에 저장 C:/하면 다음을 통해 설치할 수 있습니다.

pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl

후속 조치 : 64 비트 버전의 Python이 설치되어있는 경우 위의 링크 (예 : 인텔 프로세서가있는 경우)에서 64 비트 AMD 버전의 MySQLdb를 설치하려고합니다. 대신 32 비트 버전을 설치하려고하면 아래 주석에서 지원되지 않는 휠 오류가 발생한다고 생각합니다.


총 실패. 지원되지 않는 휠
M Hornbacher

3
MySQL 클라이언트가 필요했습니다. pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl잘 작동합니다.
arsenik

2
에 갔다 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 다운로드에 whl파일 (내 64 비트 파이썬 설치에 맞게 64 비트를 dl'd). 파일을 c:/디렉토리에 저장 하고 실행 pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl했습니다. 몇 초 만에 설치되어 좋았습니다. 너무 쉽다!
curtisp

이름으로 pip 설치가 실패 했으므로 나를 위해 일했습니다.
아르 템 루사 코프 스키


7

모든 옵션을 시도했지만 Redhat 플랫폼에서 작동시키지 못했습니다. 나는 그것을 작동시키기 위해 다음을 수행했다.

yum install MySQL-python -y

패키지가 설치되면 인터프리터에서 다음과 같이 모듈을 가져올 수 있습니다.

>>> import MySQLdb
>>> 

질문은 구체적으로 언급했다 pip. 어떤 배포판을 사용하고 있습니까? 페도라 24 일,이 작품은 설치 모듈을 통해 PIP : sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc,sudo pip install MySQL-python
마리안

나는 pip를 통한 질문이라는 것을 이해하지만 개인적으로 pip를 사용하여 해결할 수 없었습니다. 따라서 방금 해결 방법을 공유하여 문제를 해결했습니다. centos 6.8을 사용하고 있습니다. pip 목록은 mysql과 관련된 것을 표시하지 않으며 "pip install MySQL-python"을 수행하면 오류가 발생했습니다. 이제 흥미롭게도 일단 yum i : e "yum install MySQL-python"을 통해 설치하면 MySQLdb를 가져올 수 있다는 것을 알았습니다. 또한 yum 설치로 완료되면 오류없이 pip를 통해 설치할 수있었습니다.
Ashwin

6

pycharm으로 이동 한 다음 기본 설정으로 이동하십시오-> pip (더블 클릭)-pymsqldb ..--> install-이와 같은 프로그램에서 설치 후

import pymysql as MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","root","root","test" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("show tables")

# Fetch a single row using fetchone() method.
data = cursor.fetchall()
print (data)

# disconnect from server
db.close()

3

Raspberry Pi를 사용하는 경우 [Raspbian OS]

처음에는 pip 명령을 설치해야합니다

apt-get install python-pip

따라서 순차적으로 설치하십시오.

apt-get install python-dev libmysqlclient-dev

apt-get install python-pip

pip install MySQL-python

라즈베리는이 질문에 언급되지 않았습니다
Héctor Valverde Pareja


3

mysqlclient 를 설치할 수 없다면 pymysql 을 설치할 수도 있습니다 :

pip install pymysql

이것은 MySqldb 와 동일하게 작동합니다 . 그 후 MySQLdb 대신 pymysql을 사용하십시오.


이것이 답이되어야합니다.
JayJay123

2

나도 같은 문제가 있었는데 Windows를 사용하는 경우 다음 단계를 따르십시오. 이동 : 1. 내 컴퓨터 2. 시스템 속성 3. 고급 시스템 설정 4. "고급"탭에서 "환경 변수"라는 버튼을 클릭하십시오. 5. 시스템 변수에서 다음 변수를 추가 / 변경해야합니다 : PYTHONPATH 그리고 경로. 다음은 내 변수 모양에 대한 붙여 넣기입니다. python path :

C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

통로:

C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

링크 를 참조하십시오


1

위의 답변은 훌륭하지만 Windows 에서 MySQL-python을 설치하기 위해 pip를 사용할 때 약간의 문제가있을 수 있습니다

예를 들어, Visual Stdio 와 관련된 일부 파일이 필요합니다. . 한 솔루션이 VS2008 또는 2010을 설치하고 있습니다 ……

또 다른 방법은 @ bob90937의 답변입니다. 추가 할 무언가를하기 위해 여기 있습니다.

http://www.lfd.uci.edu/~gohlke/pythonlibs 와 함께 , u는 파이썬 프로그래밍 언어의 공식 CPython의 배포에 많은 과학 오픈 소스 확장 패키지의 많은 윈도우 바이너리를 다운로드 할 수 있습니다.

주제로 돌아가서 MySQL-python (py2) 또는 Mysqlclient (py3)를 선택 하고 pip install 을 사용 하여 설치할 수 있습니다. 그것은 우리에게 큰 편의를 제공합니다!




1

RHEL 7에서 :

sudo yum install yum-utils mariadb-devel python-pip python-devel gcc

sudo /bin/pip2 install MySQL-python


1

시스템에 Windows를 설치 한 경우 cmd에 다음 명령을 입력하십시오.

pip install mysql-connector

위의 명령이 작동하지 않으면 다음을 사용하십시오.

pip install mysql-connector-python

위의 명령으로 작업이 완료되지 않으면 다음을 사용하십시오.

pip install mysql-connector-python-rf

그게 당신이 지금가는 것이 좋습니다.


1

여기에 주어진 대답 중 많은 부분이 매우 혼란 스러우므로 간단히 넣으려고합니다. 설치하는 데 도움이되었습니다.

pip install pymysql

파이썬 파일에서 다음 명령을 사용하십시오.

import pymysql as MySQLdb

이렇게하면 아무 문제없이 MySQLdb를 사용할 수 있습니다.


0

pip3이 작동하지 않으면 다음을 시도해보십시오.

sudo apt install python3-mysqldb

좋은 답변이 아닙니다. 파이썬 버전이 3이고 OS가 데비안 / 우분투라고 가정하지만 그것을 모릅니다. 작성자가 세부 사항을 추가 할 때까지 기다리십시오.
phd

0

내 환경은 다음과 같습니다

  • Windows 10 Pro,
  • Python 3.7 (python-3.7.1-amd64.exe),
  • MySQL 8.0 (mysql-installer-web-community-8.0.13.0.msi)

pip install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

나를 위해 작동합니다.

import MySQLdb, sys


# --------------------------------------------------
# Connect to MySQL
# --------------------------------------------------
try:
    db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", charset='cp1251')
except MySQLdb.Error as e:
    print ("Error %d: %s" % (e.args[0], e.args[1]))
    sys.exit()

# Creating cursor 
cursor = db.cursor()

0

실제로 @ Nick T의 대답이 저에게 효과적이지 않습니다. 저를 apt-get install python-mysqldb위해 노력 하십시오.

root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libmariadbclient18 mysql-common
Suggested packages:
  default-mysql-server | virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
  libmariadbclient18 mysql-common python-mysqldb
0 upgraded, 3 newly installed, 0 to remove and 29 not upgraded.
Need to get 843 kB of archives.
After this operation, 4611 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]
Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB]                    
Fetched 843 kB in 23s (35.8 kB/s)                                                                                 
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package mysql-common.
(Reading database ... 13223 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...
Unpacking mysql-common (5.8+1.0.2) ...
Selecting previously unselected package libmariadbclient18:amd64.
Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Selecting previously unselected package python-mysqldb.
Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...
Unpacking python-mysqldb (1.3.7-1.1) ...
Setting up mysql-common (5.8+1.0.2) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up python-mysqldb (1.3.7-1.1) ...
root@2fb0da64a933:/home/test_scrapy# python 
Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.