programing

MySQLdb 모듈 'Mysqlclient 또는 MySQL-python을 설치했습니까?' 로드 중 오류가 발생했습니다.

javaba 2022. 11. 5. 11:27
반응형

MySQLdb 모듈 'Mysqlclient 또는 MySQL-python을 설치했습니까?' 로드 중 오류가 발생했습니다.

python34를 사용한 django 프로젝트에서 windows 10 명령줄을 사용하고 있는데 SQL에 어려움이 있습니다.

mysqlclient를 했습니다.pip install mysqlclient==1.3.5그리고 나서 뛰었습니다.python manage.py migrate테 sql sql sql((((((((((((( ( phmyadmin ) 。...

 File "C:\Users\user\env\lib\site-packages\django\db\backends\mysql\base.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?

이와 같은 질문은 이미 존재하지만, 어떤 해결책도 시도에 영향을 미치지 않는 것 같습니다.

pip install pymysql

그런 다음 프로젝트 오리진 dir(설정과 동일)에서 __init_.py 파일을 편집합니다.py)

추가:

import pymysql

pymysql.install_as_MySQLdb()

python 3으로 이행한 후에도 같은 문제가 발생하였습니다.MySQL-python은 호환되지 않기 때문에 공식 django 문서에 따라 mysqlclient를 사용하여 설치했습니다.pip install mysqlclientMac 서서 mac mac mac mac mac mac mac mac mac mac mac mac문서에는 OS 고유의 문제가 몇 가지 기재되어 있습니다.

문서로부터의 인용:

전제 조건

다음과 같이 Python 및 MySQL 개발 헤더 및 라이브러리를 설치해야 할 수 있습니다.

sudo apt-get install python-dev default-libmysqlclient-dev/ # Debian / Ubuntu

sudo yum install python-devel mysql-develHat / 간센 / OSOS

brew install mysql-connector-c# macOS (홈브루) (일본어판/영어판)이하를 참조해 주세요.

Windows 에서는 MySQL Connector/C 또는 MSVC 없이 설치할 수 있는 바이너리 휠이 있습니다.

Python 3에 대한 주의: python3을 사용하는 경우 다음 명령을 사용하여 python3-dev를 설치해야 합니다.

sudo apt-get install python3-dev/ # debian / Ubuntu

sudo yum install python3-develHat / 간센 / OSOS

MacOS에서 MySQL Connector/C 버그에 대한 참고

참고 항목: https://bugs.mysql.com/bug.php?id=86971

Connector에는 MySQL Connector/C가 오류를 옵션이 있을 수 있습니다.mysqlclient-python, 2017 2017 ( ( ( novemberbas(2017년 11월 ) 있다.mysql-connector-c 공식 패키지를 합니다.

경경의 mysql_config는 이러한 문제를 다음과 같이 해결합니다.

바꾸다

# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "

로.

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

않은 할 수 를 들어, 「SSL」을 참조해 주세요.★★★★★★★★★★★★★★★★★,brew info opensslMacOS の mac mac mac mac 。

Py부터 설치PI

pip install mysqlclient

메모: Windows용 휠은 소스 패키지와 함께 출시되지 않을 수 있습니다.'은 '버전'을 .requirements.txt최신 소스 패키지를 설치하지 않도록 합니다.

소스에서 설치

  1. git clone또는 zipfile을 클릭합니다.
  2. 「 「 」를 커스터마이즈 .site.cfg
  3. python setup.py install

pip의 경우

pip install pymysql

pip3의 경우

python3 -m pip install PyMySQL

그런 다음 프로젝트 오리진 디렉토리(settings.py와 동일)에서 init.py 파일을 편집합니다.추가:

import pymysql

pymysql.install_as_MySQLdb()

이 명령어는 위의 @Aniket Sinha의 답변에서 트릭을 얻었습니다.

pip install mysqlclient

다음 명령을 사용하여 문제를 해결하십시오.

pip install mysql-python
apt-get install python3-mysqldb libmysqlclient-dev python-dev

데비안에서의 작업

「 」를 가지고 있는 mysqlclient되어 라고 표시됩니다).Requirement already satisfied and 、 ) ) )를 취득하고 Error loading MySQLdb Module하다

  1. pip uninstall mysqlclient
  2. export LDFLAGS="-L/usr/local/opt/openssl/lib" ★★★★★★★★★★★★★★★★★」export CPPFLAGS="-I/usr/local/opt/openssl/include"여기서 설명한 바와 같이
  3. pip install mysqlclient

됩니다.mysqlclient어떤 이유로든 제 문제를 해결했어요

MAC OS 사용자의 경우:

나는 이 문제에 여러 번 직면했다.여기서 중요한 것은 pip 명령어로 mysqlclient를 설치하기 전에 이러한 환경변수를 설정하는 것입니다.제 경우 다음과 같습니다.

export LDFLAGS="-L/usr/local/opt/protobuf@3.7/lib"
export CPPFLAGS="-I/usr/local/opt/protobuf@3.7/include"

프로젝트 오리진 디렉토리에서 init.py 파일을 편집합니다.

import pymysql

pymysql.install_as_MySQLdb()

나는 윈도우에서 python 3를 사용하고 있다.저도 이 문제에 직면했어요.mysqlclient를 제거하고 다시 설치했습니다.어떻게든 효과가 있었다

mysqlclient를 사용합니다.anacondasimple and straight forward.

conda install -c bioconda mysqlclient

다음 ,, 스합합합합이다를 합니다.pymysqlpip을 사용합니다.

pip install pymysql

3 호환 Python 3을 .mysqlclient조금 특이한 방법으로 제 문제를 해결했습니다.8 을 하고 있는 이 되는지 MySQL 8 의 「」, 「」의 「MySQL 8」의 「」, 「MySQL 8」의 「MySQL 8」의 「MySQL」의 「MySQL 8」의 「MySQL」의 「MySQL 8」의 「MySQL」의 「MySQL」의 「M

그냥 복사해 놨어요libmysqlclient.21.dylib.0.에 있습니다.MySQL 8.0.13에 ./usr/local/mysql/lib 그 으로 옮겼습니다./usr/lib.

으로 보안 , 이 Mac에서는 수 할 수 ./usr/lib효효무맨 한 후 Utilities를 입력합니다.csrutil disable터미널에 접속합니다.이 작업을 마치면 보안 무결성 보호를 다시 켜야 합니다.은 '실행하다'라는 것 입니다.csrutil enable★★★★★★ 。

macOS의 보안 무결성 보호를 비활성화 및 활성화하는 방법에 대한 자세한 내용은 여기를 참조하십시오.

프로젝트의 의존관계를 갱신하고 서버를 재기동하기만 하면 되었습니다.

문제를 해결하려면 pip install mysql-sysql-sysql==8.0.23을 실행합니다.

mac의 mysql.connector 버전 8.0.24에서 이 문제에 직면했습니다(코드베이스가 같으면 Windows에서도 문제가 발생합니다).51행의 이 파일은 "django.db.backends.mysql.base import DatabaseWrapper as MySQLLDatabaseWrapper"를 Import합니다.Import한 파일의 코드는 14-20(정확한 코드이며, 수신한 에러는 코드의 일부입니다.

try:
    import MySQLdb as Database
except ImportError as err:
    raise ImproperlyConfigured(
        'Error loading MySQLdb module.\n'
        'Did you install mysqlclient?'
    ) from err

에러는 여기서 발생합니다.이 Import가 다른 버전의 mysql 커넥터로 계속 돌아오는 이유는 알 수 없지만 8.0.23에는 Import가 없기 때문에 해당 버전으로 되돌아가면 오류가 사라집니다.이는 mysql.connector를 계속 사용하고 싶은 경우에 해당합니다.python. 논리를 잘 모르겠고 왜 이 오류가 지난 5년간 해결되지 않았는지...

CLI에서 이 명령을 실행합니다.

pip install mysqlclient

[NEW] 시험해 보세요pip install mysqlclient하지 않는 및 미만이

MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory

그런 다음 이 사이트를 방문하여 지원되는 휠을 다운로드하십시오.이제 지원되는 휠을 알아보는 방법을 알아보겠습니다.예를 들어 다음과 같은 다중 휠 파일이 있습니다.

mysqlclient-1.4.6-cp36-cp36m-win_cp64.윙윙거리다

CPython 버전 3.6을 나타내는 굵은 글씨 버전 cp36을 참조하십시오.설치만 하면 문제가 해결됩니다.

오! 이제 휠 파일 설치 방법에 대한 다른 문제가 발견되면 아래 줄을 참고하십시오.

python -m pip install "C:\Users\Abhijit\Downloads\mysqlclient-1.4.6-cp36-cp36m-win_amd64.whl"

@elad silver의 답변(감사합니다)에서 영감을 받았습니다.

OSX(Monterey)의 경우, 다음과 같이 대응했습니다.

  1. 프로토부프 설치
brew install protobuf
  1. .timeoutrc 또는 .zhenv 파일을 다음 행으로 편집합니다.
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/protobuf/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/protobuf/include"
  1. 「」를 재인스톨 .mysqlclient
pip uninstall mysqlclient
pip install mysqlclient

현재 Debian의 기본 mysql 서버는 MariaDB이기 때문입니다.

user@cl1-preprod ~ % mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 39

apt-get install mariadb존재하지 않습니다. , 이 할 .apt-get install mariadb-server, 이것은 서버뿐입니다.apt-get install mariadb-client.

★★★★★★★★★★★★★★★.pip install mysqlclient

user@cl1-preprod ~ % apt-get remove libmysqlclient-dev python-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Le paquet « libmysqlclient-dev » n'est pas installé, et ne peut donc être supprimé
Le paquet « python-dev » n'est pas installé, et ne peut donc être supprimé

mysqlclient를 설치해야 합니다.방금 뛰었어

pip install mysqlclient

언급URL : https://stackoverflow.com/questions/46902357/error-loading-mysqldb-module-did-you-install-mysqlclient-or-mysql-python

반응형