source

ImportError: MySQLdb라는 이름의 모듈이 없습니다.

lovecheck 2023. 1. 15. 17:01
반응형

ImportError: MySQLdb라는 이름의 모듈이 없습니다.

웹 어플리케이션 로그인 페이지를 만들기 위해 아래의 튜토리얼을 참조합니다.http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982

데이터베이스에 문제가 있습니다.나 지금 사고 있어.

ImportError: No module named MySQLdb

실행할 때

http://127.0.0.1:5000/testdb

튜토리얼에 기재되어 있는 python mysql, easy_install, sudo apt-get install을 설치하기 위해 가능한 모든 방법을 시도해 보았습니다.

가상 환경에 mysql을 설치했습니다.제 디렉토리 구조는 튜토리얼에서 설명한 것과 동일합니다.모듈이 시스템에 정상적으로 장착되어 있는데도 이 에러가 발생.

제발 도와주세요.왜 이런 일이 생겼을까?

바이너리 확장자를 컴파일하는 데 문제가 있거나 컴파일할 수 없는 플랫폼에서 순수 파이썬 바인딩을 사용해 볼 수 있습니다.

간단하게pip install pymysqlSQL Chemy URI를 다음과 같이 전환합니다.

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'

다른 드라이버도 몇 가지 시도해 볼 수 있습니다.

또는 다음을 시도해 보십시오.

apt-get install python-mysqldb

한번 해봐

pip install mysqlclient

문제는 다음과 같습니다.

return __import__('MySQLdb')
ImportError: No module named MySQLdb

그리고 나의 결심:

pip install MySQL-python
yum install mysql-devel.x86_64

처음에 MySQL-python을 설치했는데 문제가 계속 발생했어요.따라서 이 문제가 발생했다면 mysql-devel도 고려해야 한다고 생각합니다.이게 도움이 됐으면 좋겠다.

SQL Chemy에서 일할 때 이 문제가 발생했어요.MySQL에서 SQL Chemy에서 사용되는 기본 사투리는 다음과 같습니다.mysql+mysqldb.

engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')

나는 "를 얻었다.No module named MySQLdb위의 명령어가 실행되었을 때 오류가 발생했습니다.이를 수정하기 위해mysql-python문제가 해결되었습니다.

sudo pip install mysql-python

내 경험상 Python Version에도 의존합니다.

Python 3을 사용하고 있다면, @DazWorrall의 답변은 문제없습니다.

단, Python 2를 사용하고 있다면

sudo pip install mysql-python

SQL Chemy URI를 변경하지 않고 'MySQLdb' 모듈을 설치합니다.

그래서 5시간 정도 이 문제를 해결하기 위해 실행하려고 했습니다.

./manage.py makemigrations

Ubuntu Server LTS 16.1, 풀 LAMP 스택, Apache2 MySql 5.7 PHP 7 Python 3 및 Django 1.10.2에서는 이에 대한 좋은 답을 찾기 위해 정말 애를 먹었다.사실 아직 만족스럽진 않지만, 제게 효과가 있었던 유일한 해결책은 이것뿐입니다.

sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev

이어서 (가상환경 내부에서)

pip install mysqlclient

새로운 웹 서버를 셋업하려고 할 때 dev installs를 사용하는 것은 매우 싫습니다만, 유감스럽게도 이 설정만이 가장 편리한 방법입니다.

ubuntu 20 에서는, 다음과 같이 시험할 수 있습니다.

sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient

@Edward van Kuik의 답변은 맞지만 virtualenv v1.7 이상의 문제는 고려하지 않았습니다.

, 「」를 하는 경우.python-mysqldb★★★★★★★★★★★★★★★★★를 통해apt을 우분투 밑에 /usr/lib/pythonX.Y/dist-packages, 이 virtualenv에는 되지 않습니다.sys.path.

문제를 해결하려면 다음과 같은 작업을 수행하여 시스템 패키지를 사용하여 virtualenv를 생성해야 합니다.

virtualenv --system-site-packages .venv

yum install MySQL-python.x86_64

날 위해 일했어

Ubuntu 20.04 및 python3의 경우

 sudo apt-get install python3-mysqldb

디폴트로는, 이것은 나에게 효과가 있다

sqlite 엔진 인스턴스를 만듭니다.

engine = create_engine debname://dbname: password@your_host/your_dbname')

또는

pip install pymysql

sqlite 엔진 인스턴스를 만듭니다.

create_engine://...

권한과 관련된 오류가 너무 많습니다.다음과 같이 시도해 보십시오.

xcode-select --install

sudo apt - get install python - mysqldb

제가 한 일은 다음과 같습니다.

비단뱀 pip3 install PyMySQL

그런 다음 프로젝트에 다음 코드 행을 추가합니다.

import pymysql
pymysql.install_as_MySQLdb()

이것으로 문제가 해결되었습니다.다음은 옵션입니다.SqlAlchemy를 사용하는 사용자는 mysql 서버에 접속할 수 있습니다.

engine = create_engine("mysql://YOURMYSQLURL")engine = create_engine("mysql+pymysql://YOURMYSQLURL")

mySQL 커넥터 설치에서도 같은 문제가 발생하여 해결되었습니다.

pip install mysqlclient

상세 -> SQL Chemy 공식 문서

python flask ecomerce 웹 어플리케이션을 빌드할 때 이런 유형의 오류가 발생했습니다.

ModuleNotFoundError: 'MySQLdb'라는 이름의 모듈이 없습니까?

트레이에서 내 윈도우 10에 설치된 파이썬 버전을 확인합니다.

python 3.10이었습니다.

그래서 MYSQL-PYthon은 다른 버전의 python 3.8과 호환됩니다.

python 3.10을 삭제하고 python 3.8 버전을 설치했습니다.

괜찮아졌어!

python --version

3.8

pip --version

python 3.8

커넥터를 설치합니다.

pip install MYSQL-PYthon

정상적으로 설치되었다

언급URL : https://stackoverflow.com/questions/22252397/importerror-no-module-named-mysqldb

반응형