[python] 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

튜토리얼 easy_install, sudo apt-get install에서 언급 한 python mysql을 설치하는 가능한 모든 방법을 시도했습니다.

내 가상 환경에 mysql을 설치했습니다. 내 디렉토리 구조는 튜토리얼에서 설명한 것과 동일합니다. 모듈이 내 시스템에 성공적으로 설치되었지만 여전히이 오류가 발생합니다.

도와주세요. 원인이 될 수 있습니다.



답변

바이너리 확장을 컴파일하는 데 문제가 있거나 불가능한 플랫폼에서 문제가있는 경우 순수한 Python PyMySQL바인딩을 사용해 볼 수 있습니다 .

간단히 다음 pip install pymysql과 같이 시작하도록 SQLAlchemy 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도 고려해야한다고 생각합니다. 도움이 되었기를 바랍니다.


답변

SQLAlchemy에서 작업 할 때이 문제가 발생했습니다. MySQL 용 SQLAlchemy에서 사용하는 기본 언어는 mysql+mysqldb.

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

No module named MySQLdb위의 명령이 실행될 때 ” “오류가 발생했습니다. 그것을 수정하기 위해 mysql-python모듈을 설치 하고 문제가 수정되었습니다.

sudo pip install mysql-python


답변

내 경험에서도 Python 버전에 따라 다릅니다.

Python 3을 사용하는 경우 @DazWorrall 답변이 잘 작동했습니다.

그러나 Python 2를 사용하는 경우

sudo pip install mysql-python

SQLAlchemy 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 설치를 사용하는 것을 정말로 싫어하지만, 불행히도이 구성은 내가 취할 수있는 유일한 가장 편안한 경로였습니다.