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에만 해당)
저는 많은 것을 시도했지만, 이 일련의 명령들이 마침내 제게 효과가 있었습니다.
mysql
brew install mysql
brew unlink mysql
brew install mysql-connector-c
- 를 PATH mysql bin PATH에 합니다.
export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
mkdir /usr/local/Cellar/lib/
sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib
brew reinstall openssl
(소스)- 'mysql-client'를 합니다.
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/ pip install mysqlclient
이 경우 @@vinyll을 실행할 합니다.brew link mysql
8번입니다.
레드햇에서 나는 해야 했다.
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을 이미 설치한 경우:
brew install mysql-connector-c
brew unlink mysql@5.7
brew link --overwrite --dry-run mysql@5.7
어떤 합니다.brew link --overwrite --force mysql@5.7
"mysql" "mysql @5.7" "mysql"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 ...
- libmysqlclient-dev의 .deb 파일을 이 미러에서 다운로드합니다.
- 하여 을 실행합니다.
dpkg -x libmysqlclient-dev_<version tag>.deb .
폴더 .usr
(심볼링크)
./usr/bin/mysql_config
당신의 어딘가에 있는$PATH
:ln -s
`pwd`
/usr/bin/mysql_config FOLDER_IN_YOUR_PATH
이 시점에서, 다음의 정보를 찾을 수 있을 것입니다.
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
'programing' 카테고리의 다른 글
TLD는 얼마나 걸릴 수 있습니까? (0) | 2023.01.28 |
---|---|
리소스 예약 패턴의 잠금 및 분리 (0) | 2023.01.28 |
인쇄문이 없으면 루프가 다른 스레드에 의해 변경된 값을 볼 수 없습니다. (0) | 2023.01.28 |
SyntaxError: 모듈 외부에서 Import 문을 사용할 수 없습니다. (0) | 2023.01.28 |
문자열의 모든 줄 바꿈을 어떻게 치환합니까?문자열의 모든 줄 바꿈을 어떻게 치환합니까?요소?요소? (0) | 2023.01.28 |