pip install mysql-python이 EnvironmentError와 함께 실패합니다 : mysql_config를 찾을 수 없습니다


823

이것은 내가 얻는 오류입니다

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ 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/zjm1126/zjm_test/mysite/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/zjm1126/zjm_test/mysite/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
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  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/zjm1126/zjm_test/mysite/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/zjm1126/zjm_test/mysite/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
Storing complete log in /home/zjm1126/.pip/pip.log

이 문제를 해결하려면 어떻게해야합니까?


1
이 스레드를 참조하십시오 : [mysqldb 파이썬 인터페이스를 설치할 때 mysql_config를 찾을 수 없습니다] [1] 나를 위해 일했다 :) [1] : stackoverflow.com/questions/7475223/…
Staccato

나는 MAC OS 사용자입니다.이 질문으로이 문제를 해결하십시오 stackoverflow.com/questions/50940302/…
PatricioS

답변:


1397

시스템에 mysql_config가 없거나 설치 프로그램에서 찾을 수없는 것 같습니다. mysql_config가 실제로 설치되어 있는지 확인하십시오.

예를 들어 데비안 / 우분투에서는 패키지를 설치해야합니다 :

sudo apt-get install libmysqlclient-dev

mysql_config가 경로에 없을 수도 있습니다. mysql 제품군을 직접 컴파일 할 때가 여기에 해당합니다.

업데이트 : 최신 버전의 데비안 / 우분투 (2018 년 기준)

sudo apt install default-libmysqlclient-dev

24
그래도 여전히 오류가 발생했습니다. apt-get install python-mysqldb대신에 사용 했습니다.
Jonatan Littke 13:25에

51
내 2c 경험 : sudo apt-get install libmysqlclient-dev나를 위해 일 sudo apt-get install python-mysqldb했지만 도움이되지 않았습니다
Anentropic

20
@JonatanLittke 전역 python-mysqldb 종류의 설치는 virtualenv IMO의 관점에 위배됩니다.
fncomp

42
Mariadb에게는 sudo apt-get install libmariadbclient-dev트릭을 수행했습니다.
yuvilio

11
이러한 솔루션이 효과가 없다면 python-dev를 설치해야 할 수도 있습니다.apt-get install python-dev
Anoyz

295

Mac OS에서는 간단히 터미널에서 이것을 실행하여 수정했습니다.

export PATH=$PATH:/usr/local/mysql/bin

이것은 내가 찾은 가장 빠른 수정입니다-경로에 추가하지만 /etc/paths다른 환경에 MySQL-python을 설치하려는 경우 영구적으로 추가하는 것이 좋습니다 (예 :에 추가하는 것이 좋습니다).

(OSX Mountain Lion에서 테스트)


6
당신이 사용하는 경우 bitnami의 MAMP 스택 사용을 export PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/bin사용하는 경우 이 상업 MAMP 스택을 그것을 제거, 다른 한편으로는, 그것은 똥과 MySQL의 헤더를 포함하지 않기 때문에 bitnami의 하나를 얻을.
Timmmm

3
경로를 영구적으로 만들려면 맨 아래에 경로를 추가하십시오 /etc/paths. 새 경로에 액세스하려면 새 터미널 창을 열어야합니다.
rojoca

@Timmmm 모든 데이터베이스가 공식 버전이므로 상당히 비싼 솔루션입니다 : / 이것을 분류하는 다른 방법이 있습니까?
Volatil3

1
매우 도움이됩니다. XAMPP를 사용하는 경우 다음과 같이 사용하십시오.export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
Kevin London

10
이것은 마침내 감사합니다! 또한 mysql설치되어 있지 않은 경우 brew install mysql위치가있는 위치 /usr/local/bin/mysql(또는 /usr/local/Cellar/mysql/VERSION/bin/심볼릭 링크되어 있지 않은 경우)를 사용하십시오.
Aziz Alto

102
apt-get install libmysqlclient-dev python-dev

트릭을 수행하는 것처럼 보였습니다.


2
예, 나를 위해 libmysqlclient-dev만으로는 충분하지 않았으며 python-dev도 누락되었습니다.
앤더슨 산토스

10.04 (lucid)에서 전체 업그레이드 후 Ubuntu 12.04 (정확함) (32 비트)에서는이 오류 만 해결되었습니다. 특히 추가 "python-dev"!
Ice

나를 위해 일했습니다 .python-dev는 퍼즐의 마지막 조각이었습니다. python-mysqldb가 이미 설치되어 있으므로 이것이 전부 필요한 것은 아닙니다.
Tim S.

업데이트 : Python3의 경우 설치해야 python3-dev합니다.
cezar

이 작업을 수행 gcc하고 성공적으로 설치하려면 설치해야했습니다. 또한,하지 아마 최선의 방법 python-dev과 같은 특정 버전을하지만, 지정 python2.7-dev, python3.6-dev
팀 Tisdall

89

위의 문제에 대한 다양한 답변이있을 수 있으며 아래는 집계 된 솔루션입니다.

우분투의 경우 :

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

CentOS의 경우 :

$ yum install python-devel mysql-devel

centos 팁을 주셔서 감사합니다. 나는 아침 내내 이것을 쫓고 있었다.
Pete Magsig

추가 가치 python3-dev/python3-devel
Gergely M

36

MAC을 사용하는 경우 전 세계적으로 설치

brew install mysql

그런 다음 경로를 다음과 같이 내보내십시오.

export PATH=$PATH:/usr/local/mysql/bin

전 세계 또는 당신의 마음에 드는 것보다

pip install MySQL-Python

참고 : Mac은 python2와 3을 모두 가질 수 있으므로 전 세계적으로 python3

pip3 install MySQL-Python

34

MySQL Connector / Python을 사용할 수 있습니다

PyPip을 통한 설치

pip install mysql-connector-python

자세한 내용은 MySQL Connector / Python 1.0.5 베타 공지 블로그 에서 확인할 수 있습니다 .

런치 패드에는 라이브러리를 사용하여 데이터를 추가, 편집 또는 제거하는 방법에 대한 좋은 예가 있습니다.


3
이것은 내가 mysqldb를 포기하고 누락 된 mysql_config 엉망을 포기했을 때 나를 위해 일한 유일한 것입니다. 내 목적에 잘 작동합니다.
wh1tney

@wjoba 더 설명해 주시겠습니까? py-mysql2pgsqlmysql_config의 설치 및 오류를 발견했습니다. MAMP를 사용하고 있습니다. mysqk 커넥터의 기능은 무엇입니까?
Volatil3

1
@ Volatil3 mysql-connector-python은 mysql-python의 기본 대체품으로 잘 작동했습니다. pip를 통해 전자를 설치하면 아무런 문제가 없었고 mysql_config 오류를 제거했습니다 (개발자 자신의 말로) mysql 커넥터는 "순수한 파이썬이며 다른 MySQL 소프트웨어가 필요하지 않으므로 C 라이브러리와 컴파일이 필요하지 않기 때문에". 희망이 도움이됩니다. 이 솔루션에 언급 된 설치를 시도하고 여전히 오류가 발생하는지 확인하십시오.
wh1tney

우분투 14/4에서 다음을 얻습니다. mysql-connector-python 요구 사항을 만족하는 다운로드를 찾을 수 없습니다
Timo

이 명령은 다른 모든 것을 시도한 후에 저에게 효과적이었습니다.
시계

27

의 경우 에 CentOS의 사용자 :

yum install -y mysql-devel python-devel python-setuptools

그때

pip install MySQL-python


이 솔루션 이 작동하지 않으면 다음과 같이 gcc 컴파일 오류를 인쇄하십시오.
_mysql.c:29:20: error: Python.h: No such file or directory

다음 Python.h과 같이 경로를 지정해야합니다 .
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python


1
파이썬 바이너리 pip가 설치하려는 올바른 포함 파일이없는 것처럼 들립니다 . 파이썬 자체는 일반적으로 포함 위치를 제공합니다. 경로를 수동으로 지정하면 잘못된 버전을 가리키고 있습니다.
Martijn Pieters

내가해야 할 일을했을 sudo pip install MySQL-python오류로 인한를 :copying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> /usr/lib64/python2.7/site-packages error: /usr/lib64/python2.7/site-packages/_mysql_exceptions.py: Permission denied
bennythejudge

18

mysql-pythonAmazon EC2 Linux 인스턴스에 설치하려고하는데 다음을 설치해야했습니다.

yum install mysql mysql-devel mysql-common mysql-libs gcc

그러나이 오류가 발생했습니다 :

_mysql.c:29:20: fatal error: Python.h: No such file or directory

그래서 나는 설치했다 :

yum install python-devel

그리고 그 트릭을했다.


1
sudo yum install mysql mysql-devel mysql-common mysql-libs gcc 내 가상 환경 외부에서 사용했습니다 . 그런 다음 가상 환경으로 돌아가서 실행 pip install mysql-python했습니다.
tandy

1
dnf install mysql-devel gcc나를 위해
Jens Timmerman

python-devel파이썬 2.7을 사용하여이하려고하면 이제 오류를 줄 것이다python27-devel
지글 지글 코드

8

MySQL 대신 MariaDB를 사용하는 사람은 libmariadbclient-dev패키지 를 설치 하고 올바른 이름으로 구성 파일에 대한 심볼릭 링크를 만드는 것이 해결책입니다 .

예를 들어 이것은 나를 위해 일했습니다 :

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config

2
이것은 알려진 특정 데이터베이스 소켓에 연결하려는 경우에 유용하지 않은 답변입니다. 독립형 mysql 데이터베이스에 연결하는 데 도움이되었습니다. 여기서 대부분의 솔루션은 msql 클라이언트를 다시 설치하거나 두 번째 또는 세 번째 등을 설치하는 것이 좋습니다!
7yl4r


6

OSX 매버릭스

osx mavericks 및 xcode 개발 도구의 변경으로 인해 설치 오류가 발생할 수 있습니다

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

따라서 다음을 사용하십시오.

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python

6

리눅스

이것은 나를 위해 작동

yum install python-devel mysql-devel

5

mariadb 의 경우 libmysqlclient-dev 대신 lib mariadb client-dev 를 설치하십시오.

sudo apt-get install libmariadbclient-dev

MariaDB와 함께 데비안 9 스트레치를 사용할 때 필요한 것
anhtran

4

mysql첫 번째를 설치해야합니다 .

yum install python-devel mysql-community-devel -y

그런 다음 설치할 수 있습니다 mysqlclient.

pip install  mysqlclient

2

때때로 오류는 실제 원인에 따라 다릅니다. python-mysqldb 데비안 패키지를 통해 mysql-python을 설치 한 경우가있었습니다.

이것을 모르고 실수로 실행 pip uninstall mysql-python한 다음 복구 하지 못한 개발자pip install mysql-python 위의 오류가 발생 .

pip uninstall mysql-python 데비안 꾸러미 내용은 물론 pip install mysql-python 데비안 패키지는 어떤 dev에 파일이 필요하지 않았기 때문에 실패했습니다.

이 경우 올바른 해결책은 apt-get install --reinstall python-mysqldbmysql-python을 원래 상태로 복원하는 것입니다.


2

Terraform : light 컨테이너에서도 같은 문제가있었습니다. 알파인을 기반으로합니다.

거기에 mariadb-dev를 설치해야합니다 :

apk add mariadb-dev

그러나 다른 모든 종속성도 빠져 있기 때문에 그 중 하나만으로는 충분하지 않습니다.

apk add python2 py2-pip gcc python2-dev musl-dev

2

따라야 할 순서.

pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser 
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

그런 다음 MYSQL-python을 다시 설치하십시오. 나를 위해 일한


1

OS X Server 10.6.8에 비슷한 문제가 발생했습니다. 여기 내가해야 할 일이 있습니다. 사용 :

MySQL-python 1.2.4b4 (소스) MySQL-5.6.19 (이진 설치 관리자) Python 2.7 (이진 설치 관리자) 참고 : virtualenv에 설치 중 ...

소스 압축을 풀고 'distribute_setup.py'를 열고 DEFAULT_VERSION을 편집하여 최신 버전의 배포 도구를 사용하십시오.

DEFAULT_VERSION = "0.6.49"

저장. 'site.cfg'파일을 열고 mysql_config의 경로를 주석 해제하십시오 (mysql_config에 대한 사용자 고유의 경로 참조).

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

이제 'mysql_config'찾을 수 없음 오류와 함께 정리, 빌드 및 작성이 실패하지 않습니다. 다른 누군가가 이전 xserve를 사용하려고 시도하기를 바랍니다 :-)


1

sudo 경로가 로컬 경로를 모르는 경우 ... 수퍼 유저 모드로 이동하여 경로를 추가 한 다음 설치하십시오.

sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit

그리고 당신은 OSX에서 작동하고 있습니다. 이제 업데이트 된 글로벌 파이썬이 있습니다.



0

MacOS Mojave에서 mysql_config는 위에서 지적한대로 / usr / local / mysql / bin이 아닌 / usr / local / bin /에 있으므로 경로에 아무것도 추가 할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.