programing

mysqldb python 인터페이스를 설치할 때 mysql_config를 찾을 수 없습니다.

shortcode 2023. 1. 28. 09:51
반응형

mysqldb python 인터페이스를 설치할 때 mysql_config를 찾을 수 없습니다.

ssh를 통해 연결된 리눅스 서버에서 Python 스크립트를 실행하려고 합니다.스크립트는 mysqldb를 사용합니다.필요한 다른 컴포넌트는 모두 가지고 있지만 setuptools를 통해 mySQLdb를 설치하려고 하면 다음과 같이 됩니다.

python setup.py install

.mysql_config명령어를 입력합니다.

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

다른 사람이 이 오류를 경험한 적이 있습니까?그렇다면 어떻게 해결하셨습니까?mysqldb를 정상적으로 설치하려면 어떻게 해야 합니까?

mySQLdb는 mysql의 python 인터페이스이지만 mysql 자체는 아닙니다.mySQLdb에는 'mysql_config' 명령어가 필요하기 때문에 먼저 설치해야 합니다.

셸에서 "mysql"을 실행하여 mysql 자체를 설치했는지 확인할 수 있습니까?그러면 "mysql: command not found" 이외의 응답이 나타납니다.

어떤 Linux 디스트리뷰션을 사용하고 있습니까?Mysql은 대부분의 Linux 배포용으로 사전 패키지화되어 있습니다.예를 들어 debian / ubuntu의 경우 mysql 설치는 다음과 같이 간단합니다.

sudo apt-get install mysql-server

mysql-config는 (debian / ubuntu를 전제로 한) 다른 패키지에 포함되어 있습니다.

sudo apt-get install libmysqlclient-dev

mariadb를 사용하는 경우 mysql의 대체가 떨어집니다.

sudo apt-get install libmariadbclient-dev

참고 자료: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797

스톨을 .python-mysql Ubuntu 12.04

pip install mysql-python

처음에는 같은 문제가 있었습니다.

Not Found "mysql_config"

이건 내게 효과가 있었다.

$ sudo apt-get install libmysqlclient-dev

그러다 문제가 생겼어요

...
_mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio

compilación terminada.

error: command 'gcc' failed with exit status 1

그리고 나서 나는 로 시도했습니다.

apt-get install python-dev

(python3를 사용하는 경우,python3-dev★★★★★★★★★★★★★★★★★★」

그리고 나는 행복했다:)

pip install mysql-python
    Installing collected packages: mysql-python
      Running setup.py install for mysql-python
        building '_mysql' extension
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g
        In file included from _mysql.c:44:0:
        /usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto]
        /usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa
        gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so
    
Successfully installed mysql-python
Cleaning up...

(Mac OS X에만 해당)

저는 많은 것을 시도했지만, 이 일련의 명령들이 마침내 제게 효과가 있었습니다.

  1. mysql
    brew install mysql
    
  2. brew unlink mysql
  3. brew install mysql-connector-c
  4. 를 PATH mysql bin PATH에 합니다.
    export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
    
  5. mkdir /usr/local/Cellar/lib/
  6. sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib
    
  7. brew reinstall openssl(소스)
  8. 'mysql-client'를 합니다.
    LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/ pip install mysqlclient
    

이 경우 @@vinyll을 실행할 합니다.brew link mysql8번입니다.

레드햇에서 나는 해야 했다.

sudo yum install mysql-devel gcc gcc-devel python-devel
sudo easy_install mysql-python

그리고 효과가 있었다.

python 3.5.2의 경우

sudo apt-get install libmysqlclient-dev python-dev

Ubuntu 12.04 LTS에서는 다음과 같이 동작했습니다.

apt-get install libmysqlclient-dev python-dev

모든 것이 성공했지만, 나는 여전히 다음을 계속했다.

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

★★★★★★★★★★★★★★★★를 인스톨 하려고 해도, 같은 에러가 했습니다.mysql-python.

이렇게 고쳤어요.

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

문제는 설치 관리자가 기본 경로에서 mysql_config를 찾을 수 없다는 것입니다.이제 할 수 있고.. 그리고 효과가 있었어..

 15 warnings generated.
    clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64

Successfully installed mysql-python
Cleaning up...

이게 도움이 됐으면 좋겠다.

감사해요.

다음의 순서로 이 문제를 해결했습니다.

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo python setup.py install

명령(mysql도) mPATH가 누락되었을 수 있습니다.

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

순서 1: - Python3 Python3-dev 둘 다 설치

sudo apt-get install python3 python3-dev

순서 2:- Python & Mysql 커넥터 설치

sudo apt-get install libmysqlclient-dev

스텝 3:- python mysql 클라이언트 설치

sudo apt-get install mysqlclient

이것으로 문제가 해결됩니다.

libmysqlclient-dev 패키지는 더 이상 사용되지 않으므로 다음 명령을 사용하여 수정하십시오.

패키지 libmysqlclient-dev는 사용할 수 없지만 다른 패키지에 의해 참조됩니다.이는 패키지가 없어졌거나 폐지되었거나 다른 소스에서만 사용할 수 있음을 의미합니다.

sudo apt-get install default-libmysqlclient-dev

2020년에 이 문제를 해결하는 가장 편리한 방법은 다른 파이썬 패키지를 사용하는 것이라고 생각합니다.다른 바이너리 소프트웨어는 설치할 필요가 없습니다.

이거 드셔보세요

pip install mysql-connector-python

그리고 나서.

import mysql.connector

mydb = mysql.connector.connect(
          host="",
          user="",
          passwd="",
          database=""
          )      
cursor = mydb.cursor( buffered=True)
cursor.execute('show tables;')
cursor.execute('insert into test values (null, "a",10)')
mydb.commit()
mydb.disconnect()

macOS에서 brew 설치를 통해 mysql@5.7을 이미 설치한 경우:

  1. brew install mysql-connector-c
  2. brew unlink mysql@5.7
  3. brew link --overwrite --dry-run mysql@5.7 어떤 합니다.
  4. brew link --overwrite --force mysql@5.7"mysql" "mysql @5.7" "mysql"
  5. pip install mysqlclient

libmysqlclient를 설치하여 수정했습니다.

sudo apt-get install libmysqlclient16-dev

centos 7에서는 이것은 나에게 효과가 있다.

yum install mariadb-devel
pip install mysqlclient

MySQL-python가 「」를 하고 .mysql_config하여 에 합니다.mysql구성을 선택합니다..mysql_config명령어를 입력합니다.

dev.com의 libraries (MySQL-devel-xx는 이 명령어와 .dev.mysql.를 제공합니다.MySQL-devel패키지는 커뮤니티 서버 다운로드 영역에 있습니다.은 MySQL로 합니다.MySQL-devel 및 플랫폼 버 linux Linux ( ) ) 。MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm

mysql 서버를 설치할 필요는 없습니다.

Alpine Linux의 경우:

$ apk add mariadb-dev mariadb-client mariadb-libs

MariaDB는 MySQL을 대체하며 Alpine 3.2부터 새로운 표준이 되었습니다.https://bugs.alpinelinux.org/issues/4264 를 참조해 주세요.

Fedora 23 머신에서는 다음을 실행해야 했습니다.

sudo dnf install mysql-devel

단말기에서 다음 라인을 실행할 수 있을 것 같습니다.

 sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/

이 mysql_config 디렉토리는 MacOSX의 zend 서버용입니다.Linux에서는 다음과 같은 행으로 실행할 수 있습니다.

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/

이것은 기본 Linux mysql 디렉토리입니다.

했습니다.mysql_config

mysql을 homebrew와 함께 설치했는데 출력에서 이것을 보았습니다.

Error: The `brew link` step did not complete successfully

얻었느냐에 따라mysql른른른 같은 에는 ★★★★★★★★★★★★★★★★★★★★★★★./usr/local/Cellar/mysql
Python이 어디에 있는지 알면 Python이 어디에 있는지 심볼릭 링크를 표시할 수 있습니다. /usr/local/mysql

이건 나한테 효과가 있었어.

ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config   /usr/local/mysql/bin/mysql_config

저도 같은 문제가 있었어요. 튜토리얼에 따라 Python3-dev를 Ubuntu 16.04에 설치하는 것으로 해결했습니다.

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y python3-pip
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

이제 가상 환경을 설정할 수 있습니다.

sudo apt-get install -y python3-venv
pyvenv my_env
source my_env/bin/activate

CentOS 7에서는 다음 작업을 수행해야 합니다.

#step1:install mysql 
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

#step2:
sudo yum install mysql-devel

또는

sudo yum install mysql-community-devel

python-dev 패키지를 설치해야 합니다.

sudo apt-get install python-dev

sudo apt - get install python - mysqldb

Python 2.5?Ubuntu Server의 매우 오래된 버전(Hardy 8.04?)을 사용하고 있는 것 같습니다.서버가 사용하는 Linux 버전을 확인해 주세요.

ubuntu 패키지 데이터베이스에서 python-module 검색

추가 정보:

mysql-python의 README -

Red Hat Linux ........

MySQL-python은 Red Hat Linux 7.x 이후에 미리 패키지되어 있습니다.여기에는 Fedora Core 및 Red Hat Enterprise Linux가 포함됩니다.또, 상기의 설명에 따라서 독자적인 RPM 패키지를 작성할 수 있습니다.

Debian GNU/Linux ............

패키지화python-mysqldb_::

# apt-get install python-mysqldb

또는 Synaptic을 사용합니다.

.. _python-mysqldb: http://packages.debian.org/python-mysqldb

Ubuntu ......

데비안과 똑같아

각주:Ubuntu 10.04보다 오래된 서버 디스트리뷰션을 사용하는 경우 공식 지원이 종료되므로 빠른 시일 내에 업그레이드해야 합니다.

이 메서드는 Mysql이 설치되어 있지만 mysql_config를 찾을 수 없는 사용자만 사용할 수 있습니다.이 문제는 python 설치가 시스템 경로에서 mysql_config를 찾을 수 없는 경우에 발생합니다.대부분은 .dmg Mac 패키지를 통해 설치를 수행했거나 커스텀 경로에 설치한 경우에 발생합니다.MySqlDB에서 가장 쉽고 문서화된 방법은 site.cfg를 변경하는 것입니다./usr/local/mysql/bin/에 있을 가능성이 있는mysql_config를 찾아 다음과 같이 변수 mysql_config를 변경하고 설치를 다시 실행합니다."#"을 삭제하여 코멘트를 해제하는 것을 잊지 마십시오.

밑줄 변경

"#syslog_config = /usr/local/bin/syslog_config"

로.

"syslog_config = /usr/local/syslog/bin/syslog_config"

시스템 경로에 따라 달라집니다.

그런데 사이트 변경 후 python install을 사용했습니다.cfg

sudo / System / Library / Frameworks / Python . framework / Versions / 2 . 7 / bin / python setup.py 설치

솔루션(에 「Linux」가 sudo또는 루트 권한으로 설치합니다. 권한이 없는 경우 .sudo (.sudo apt install ...

  1. libmysqlclient-dev의 .deb 파일을 이 미러에서 다운로드합니다.
  2. 하여 을 실행합니다.dpkg -x libmysqlclient-dev_<version tag>.deb . 폴더 .usr
  3. (심볼링크)./usr/bin/mysql_config당신의 어딘가에 있는$PATH:

    ln -s `pwd` /usr/bin/mysql_config FOLDER_IN_YOUR_PATH

  4. 이 시점에서, 다음의 정보를 찾을 수 있을 것입니다.mysql_config

Ubuntu 18.04로 테스트.

macOS Mojave의 경우 컴파일러가 openssl을 검색하려면 다음과 같이 설정해야 합니다.

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

같은 문제가 발생하여 환경변수 PATH에 *mysql_config*가 상주하는 경로를 추가했는데, 이 경로를 사용할 수 있었습니다.

sudo apt-get build-dep python-mysqldb는 PIP/easy_installPIPeasy_install이다에서 합니다.

실제 오류는

gcc ... -I/usr/include/python2.7 ...

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

또한 python-dev 또는 python-devel 패키지를 설치할 수 없는 경우 http://hg.python.org/에서 필요한 버전의 python 소스와 함께 아카이브를 다운로드하여 헤더 파일을 적절한 폴더에 저장할 수 있습니다.

언급URL : https://stackoverflow.com/questions/7475223/mysql-config-not-found-when-installing-mysqldb-python-interface

반응형