Mac OS X-EnvironmentError : mysql_config not found


121

우선, 예, 저는 이미 이것을 보았습니다.

pip install mysql-python 실패하며 EnvironmentError : mysql_config not found

문제

Google App Engine 프로젝트에서 Django를 사용하려고합니다. 그러나 다음과 같은 이유로 서버가 제대로 시작되지 않아 시작할 수 없었습니다.

ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

나는 약간의 조사를했고 그것은 모두 내 시스템에없는 것처럼 Mysql-python을 설치해야한다는 것을 지적했다. 나는 실제로 그것을 제거하려고 시도했고 이것을 얻었다.

Cannot uninstall requirement mysql-python, not installed

실제로 다음을 통해 설치하려고 할 때마다 :

sudo pip install MySQL-python

다음과 같은 오류가 발생합니다.

raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

나는 이미 실행을 시도했습니다.

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

그러나 설치 명령을 다시 실행했지만 여전히 실패했기 때문에 도움이되지 않는 것 같습니다.

어떤 아이디어?

나는 virtualenv에 있지 않습니다.


당신은 항상을 올리는 파일에 갈 수 EnvironmentError와 같은 유용한 디버그 정보를 인쇄 os.getcwd(). 당신은 또한 추가 pdb.set_trace()하고 무언가를 알아낼 수 있습니다 .
ealfonso 2014-08-25

답변:


340

좋아, 우선, 내가 당신과 같은 페이지에 있는지 확인하겠습니다.

  • Python을 설치했습니다.
  • 당신은 brew install mysql
  • 당신은 export PATH=$PATH:/usr/local/mysql/bin
  • 그리고 마지막으로 pip install MySQL-Python(또는 pip3 install mysqlclient파이썬 3을 사용하는 경우)

모든 단계를 동일한 순서로 수행했지만 여전히 오류가 발생하면 끝까지 읽으십시오. 그러나 이러한 단계를 정확히 따르지 않았다면 처음부터 시도해보십시오.

따라서 단계를 따랐지만 여전히 오류가 발생합니다. 시도해 볼 수있는 몇 가지 방법이 있습니다.

  1. which mysql_configbash에서 실행 해보십시오 . 아마 찾을 수 없을 것입니다. 그것이 빌드가 그것을 찾지 못하는 이유입니다. 실행을 시도 locate mysql_config하고 무엇이 돌아 오는지 확인하십시오. 이 바이너리의 경로는 셸의 $ PATH 환경 변수에 있거나 모듈의 setup.py 파일에 명시 적으로 있어야하며 해당 파일의 특정 위치에서 찾고 있다고 가정합니다.

  2. MySQL-Python을 사용하는 대신 'mysql-connector-python'을 사용해보십시오 pip install mysql-connector-python.. 이에 대한 자세한 정보는 여기여기 에서 찾을 수 있습니다 .

  3. 'mysql / bin', 'mysql_config', 'MySQL-Python'의 위치를 ​​수동으로 찾아 $ PATH 환경 변수에 추가합니다.

  4. 위의 모든 단계가 실패하면 MacPorts를 사용하여 'mysql'설치를 시도 할 수 있습니다.이 경우 'mysql_config'파일은 실제로 'mysql_config5'라고하며이 경우에는 다음을 설치해야합니다 export PATH=$PATH:/opt/local/lib/mysql5/bin.. 여기에서 자세한 내용을 확인할 수 있습니다 .

참고 1 : 일부 사람들이 설치 python-devlibmysqlclient-dev도움 을 요청하는 것을 보았지만 이러한 패키지가 Mac OS에서 사용 가능한지 모르겠습니다.

참고 2 : 또한 명령을 루트로 실행 해보십시오.

나는 (내 두뇌 외에) 다음 장소에서 내 대답을 얻었습니다 (아마도 도움이되는지 확인하기 위해 그들을 볼 수 있습니다) : 1 , 2 , 3 , 4 .

도움이 되었으면했고이 중 어떤 것이 효과가 있는지 알게되어 기쁩니다. 행운을 빕니다.


2
훌륭한 설명, 리눅스에서 FWIW, python-dev 및 libmysqlclient-dev 설치가 일반적으로 작동하도록해야하는 유일한 작업이지만 osx에서는 목욕을 업데이트하기 만하면됩니다. 내가 생각 당신이 라이브러리가 표시되는 디바이스를 설치하지 않는 경우는 mysql을 - 파이썬에 대한 파이썬 deps을받지 않고 MySQL을 설치할 수 있습니다 리눅스. (그 실수를 여러 번 만들었습니다. 웃음)
Iain Duncan

1
Yosemite로 업그레이드 한 후 "stdio.h"가 누락 된 것에 대해 불평합니다. : 현재 이동하여이 문제를 해결할 수 stackoverflow.com/questions/19580758/...
미하이 Oprea은을

4
실행이 brew install mysql해결되었습니다. 또한이 명령 which mysql-config은 저에게는 작동하지 않았지만 작동했습니다 which mysql_config.
Chad

1
또한 추가했다 이 줄을 내에 .bash_profile파일 :export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
JeffThompson

2
나는 양조 설치를 가리켜 야했다export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
Climbs_lika_Spyder 2017

6

나는이 문제를 영원히 디버깅하고 있었다-3 시간 17 분. 특히 나를 짜증나게 한 것은 이전의 유니 작업을 통해 내 시스템에 이미 SQL이 설치되어 있었지만 pip / pip3가 인식하지 못했다는 것입니다. 위의 스레드와 내가 인터넷을 샅샅이 뒤진 많은 다른 스레드는 문제를 밝히는 데 도움이되었지만 실제로는 문제를 해결하지 못했습니다.

대답

Pip은 Macintosh HD @와 관련된 Homebrew 디렉토리에서 mysql 바이너리를 찾고 있습니다.

/usr/local/Cellar/

그래서 몇 가지 변경이 필요하다는 것을 알았습니다.

1 단계 : 아직 다운로드하지 않은 경우 MySql을 다운로드합니다. https://dev.mysql.com/downloads/

2 단계 : Macintosh HD 및 CD와 관련하여 찾기

/usr/local/mysql/bin

3 단계 : 일단 터미널을 열고 원하는 텍스트 편집기를 사용합니다.-저는 neovim 사람이므로 입력했습니다 (Mac과 함께 자동으로 제공되지 않습니다 ... 다른 하루 동안 다른 이야기).

nvim mysql_config

4 단계 : 약 112 번 라인에서 볼 수 있습니다.

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

로 변경

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

*이 파일에는 읽기 전용 액세스 권한이 있으므로 vim 또는 neovim을 사용하는 경우

:w !sudo tee %

5 단계 : 홈 디렉토리로 이동하여 .bash_profile 파일을 편집합니다.

cd ~

그때

nvim .bash_profile

추가

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

파일에 저장 한 다음

6 단계 : Macintosh HD와 관련 하여 경로 찾기 및 추가

cd /private/etc/

그때

nvim paths

추가

/usr/local/mysql/bin

*이 파일에 읽기 전용 액세스 권한이 있음을 다시 알 수 있으므로 vim 또는 neovim을 사용하는 경우

:w !sudo tee % 

그때

cd ~

그런 다음 다음을 실행하여 변경 사항으로 터미널을 새로 고칩니다.

source .bash_profile

드디어

pip3 install mysqlclient

그리고 비올라. 바이브라는 것을 기억하십시오.


libs내부 mysql_config는 이미 "변경"섹션에 설명되어 있습니다. 그러나 PATH를 추가하면 이전에 실패한 private/etc전역 설치가 가능합니다 mysqlclient.
martin-martin

5

전체 mysql을 설치하지 않으려면 mysqlclient를 설치하여이 문제를 해결할 수 있습니다. brew install mysqlclient cmd가 완료되면 다음 줄을 추가하라는 메시지가 표시됩니다 ~/.bash_profile.

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

터미널을 닫고 새 터미널을 시작한 다음 계속하십시오. pip install mysqlclient


3

MacOS Catalina에서 Python 3.6을 실행하고 있습니다. 내 문제는 설치를 시도했지만 mysqlclient==1.4.2.post1mysql_config not found 오류가 계속 발생한다는 것 입니다.

이것이 내가 문제를 해결하기 위해 취한 단계입니다.

  1. brew를 사용하여 mysql-connector-c를 설치합니다 (mysql이 이미 unlink를 먼저 설치 한 경우 brew unlink mysql)-brew install mysql-connector-c
  2. mysql_config를 열고 112 줄 주변의 파일을 편집합니다.
# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
  1. brew info openssl -이것은 openssl을 PATH에 넣는 것에 대해 수행해야 할 작업에 대한 자세한 정보를 제공합니다.
  2. 3 단계와 관련하여 PATH에 openssl을 넣으려면이 작업을 수행해야합니다. echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
  3. 컴파일러가 openssl을 찾는 경우- export LDFLAGS="-L/usr/local/opt/openssl/lib"
  4. 컴파일러가 openssl을 찾는 경우- export CPPFLAGS="-I/usr/local/opt/openssl/include"

감사합니다! 나는 많은 것을 시도했고 당신의 방법은 나를 위해 일했습니다.
Yagimutsu

2

또한 이것은 mysqlclient를 설치할 때 발생합니다.

$ pip install mysqlclient

user3429036이 말했듯이,

$ brew install mysql

1

이 답변은 brew공식에서 설치하지 않은 MacOS 사용자를위한 것입니다 .dmg/.pkg. 해당 설치 프로그램이을 편집하지 PATH못해 상자에서 벗어나게됩니다.

  1. 모든 MySQL의 명령 좋아 mysql, mysqladmin, mysql_config, 등이 그 결과를 찾을 수 없습니다 :
  2. "MySQL의 환경 설정 창은" 시스템 환경 설정에 표시하는 데 실패하고
  3. 다음을 포함하여 MySQL과 통신하는 API를 설치할 수 없습니다. mysqlclient

당신이해야 할 일은 MySQL의 추가이다 bin일반적으로 (폴더 /usr/local/mysql/bin당신에 PATH당신이 라인을 추가하여 ~/.bash_profile파일 :

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

그런 다음 ~/.bash_profile변경 사항을 현재 터미널 세션에 적용하려면 다시로드해야 합니다.

source ~/.bash_profile

mysqlclient그러나을 설치하기 전에 XcodeBuild 라이센스에 동의해야합니다.

sudo xcodebuild -license

지시에 따라 가족을 서명하면 mysqlclient문제없이 설치할 수 있습니다 .

pip install mysqlclient

이를 설치 한 후 시스템 동적 라이브러리 경로에 다음 줄을 추가 하여 MySQL ( Dynamic Library libmysqlclient.dylibnot found ) 과 함께 제공되는 런타임 버그를 수정하기 위해 한 가지 더 수행해야합니다 .

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH


sudo lsof -i :3306활성 MySQL 프로세스의 PID를 확인하기 위해 실행 한 다음 sudo -P <pid>열린 파일을보기 위해 실행 하여 디스크에서 바이너리를 찾은 후 답변을 보았습니다 . 이것은 /usr/local/mysql-8.0.18-macos10.14-x86_64/bin내가 추가 $PATH하고 짜잔 !
Neil C. Obremski

0

버전을 지정 하여 Homebrew 를 사용하여 mysql을 설치 한 경우 mysql_config 가 여기에 표시됩니다. - /usr/local/Cellar/mysql@5.6/5.6.47/bin

/ usr / local / 디렉토리 에서 ls 명령을 사용하여 sql bin의 경로를 찾을 수 있습니다.

/usr/local/Cellar/mysql@5.6/5.6.47/bin

이와 같이 bash 프로필에 경로를 추가하십시오.

nano ~/.bash_profile

export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"

0

제 경우의 문제는 파이썬 가상 환경에서 명령을 실행하고 있었고 .bash_profile 파일에 넣었지만 / usr / local / mysql / bin에 대한 경로가 없었습니다 . 가상 환경에서 경로를 내보내는 것만으로도 효과적이었습니다.

정보를 위해 sql_config는 bin 디렉토리에 있습니다.


-1

brew 또는 apt-get 설치도 쉽지 않으므로 https://dev.mysql.com/downloads/connector/python/을 통해 mysql을 다운로드하여 설치했습니다. 그래서이 디렉토리에서 mysql_config를 찾을 수 있습니다 : / usr / local / mysql / bin

다음 단계는 :

  1. 내보내기 PATH = $ PATH : / usr / local / mysql / bin
  2. pip install MySQL-python == 1.2.5
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.