Geen module met de naam MySQLdb

Ik gebruik Python versie 2.5.4 en installeer MySQL versie 5.0 en Django. Django werkt prima met Python, maar niet met MySQL. Ik gebruik het in Windows Vista.


Antwoord 1, autoriteit 100%

U moet een van de volgende opdrachten gebruiken. Welke hangt af van welk besturingssysteem en welke software je hebt en gebruikt.

  1. easy_install mysql-python(mix os)
  2. pip mysql-python installeren(mix os/python 2)
  3. pip install mysqlclient(mix os/python 3)
  4. apt-get install python-mysqldb(Linux Ubuntu, …)
  5. cd /usr/ports/databases/py-MySQLdb && maak de installatie schoon(FreeBSD)
  6. yum installeer MySQL-python(Linux Fedora, CentOS …)

Voor Windows, zie dit antwoord: Installeer mysql-python (Windows)


Antwoord 2, autoriteit 23%

…en onthoud dat er geen MySQLdb is voor python3.x

(Ik weet dat de vraag over python2.x gaat, maar Google beoordeelt dit bericht vrij hoog)


BEWERK:Zoals vermeld in de opmerkingen, is er een MySQLdb-vork die ondersteuning voor Python 3 toevoegt: github. com/PyMySQL/mysqlclient-python


Antwoord 3, autoriteit 12%

als je python-versie 3.5is, doe dan een pip install mysqlclient, andere dingen werkten niet voor mij


Antwoord 4, autoriteit 7%

mysqldbis een module voor Python die niet vooraf is geïnstalleerd of met Django wordt geleverd. Je kunt mysqldbhierdownloaden.


Antwoord 5, autoriteit 5%

Ubuntu:

sudo apt-get install python-mysqldb

Antwoord 6, autoriteit 4%

Let op: dit is niet getest voor python 3.x

In CMD

pip install wheel
pip install pymysql

in settings.py

import pymysql
pymysql.install_as_MySQLdb()

Het werkte bij mij


Antwoord 7, autoriteit 3%

voor Windows :

pip install mysqlclient pymysql

dan:

import pymysql
pymysql.install_as_MySQLdb()

voor python 3 Ubuntu

sudo apt-get install -y python3-mysqldb

Antwoord 8, autoriteit 2%

Ik ben bij ubuntu (linux) en wat voor mij werkte was

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

en dan eindelijk

pip install mysqlclient

Antwoord 9, autoriteit 2%

pip install PyMySQL

en voeg dan deze twee regels toe aan uw Project/Project/init.py

import pymysql
pymysql.install_as_MySQLdb()

Werkt op WIN en python 3.3+


Antwoord 10, autoriteit 2%

Probeer dit eens.

pip install MySQL-python

Antwoord 11, autoriteit 2%

Als pip install mysqlclient een fout produceert en je gebruikt Ubuntu, probeer dan:

sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient

Antwoord 12

Ik ontmoette dezelfde situatie onder Windows en zocht naar de oplossing.

Ik zie dit bericht Installeer mysql-python (Windows).

Het wijst erop dat het installeren van zo’n pip-omgeving moeilijk is en veel andere afhankelijkheden vereist.

Maar ik weet eindelijk dat als we mysqlclientgebruiken met een versie tot 1.3.4, het die vereisten niet meer nodig heeft, dus probeer:

pip install mysqlclient==1.3.4

Antwoord 13

pip install --user mysqlclient 

hierboven werkt voor mij als charme voor mij. Ik ga eigenlijk naar de fout van sqlalchemy.
Omgevingsinformatie :

Python: 3.6, Ubuntu: 16.04,conda 4.6.8


Antwoord 14

Ik raad persoonlijk aan om pymysqlte gebruiken in plaats van de echte MySQL-connector, die je een platformonafhankelijke interface biedt en kan worden geïnstalleerd via pip.

En je zou het SQLAlchemy URL-schema als volgt kunnen bewerken:
mysql+pymysql://username:passwd@host/database


Antwoord 15

  • Ga naar je projectdirectory met cd.
  • source/bin/activate (activeer uw omgeving indien niet eerder).
  • Voer het commando easy_install MySQL-python
  • uit


Antwoord 16

Voor Python 3.6+ doet sudo apt-get install libmysqlclient-deven pip3 install mysqlclientde truc


Antwoord 17

Voor iedereen die naar deze pagina komt om een oplossing voor sqlalchemyte vinden, hoeft u alleen het volgende te doen:

pip install PyMySQL

En pas uw verbindingsreeks aan om PyMySQL te gebruiken, van mysql://tot mysql+pymysql://.


Antwoord 18

Met dank aan derevo, maar ik denk dat er een andere goede manier is om dit te doen:

  1. Download en installeer ActivePython
  2. Open opdrachtprompt
  3. Typ pypm install mysql-python
  4. Lees de specifieke opmerkingen voor dit pakket.

Ik denk dat pypmkrachtiger en betrouwbaarder is dan easy_install.


Antwoord 19

Voor Python 3+versie

installeer mysql-connectorals:

pip3 install mysql-connector 

Voorbeeld Python DB-verbindingscode:

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)
print(db_connection)

Uitvoer:

> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>

Dit betekent dat de database correct is aangesloten.


Antwoord 20

Als u op Vista gebruikt, wilt u mogelijk de bitnami django-stapel bekijken. it is een alles-in-een stapel apache, python, mysql, enz. Verpakt met bitrock crossplatform installateurs om het echt te maken Makkelijk aan de slag. Het loopt op Windows, Mac en Linux. Oh, en is volledig gratis 🙂


Antwoord 21

Ik heb methoden hierboven geprobeerd, maar nog steeds geen module genaamd ‘Mysqldb’, ten slotte, ik slaagt met

easy_install mysql-python

Mijn ENV is unpluitu 14.04


Antwoord 22

Op Debian Buster werkte de volgende oplossing voor mij met Python 3.7:

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

Antwoord 23

Op OSX werkten deze opdrachten voor mij

brew install mysql-connector-c 
pip install MySQL-python

Antwoord 24

Als u Sqlalchemy gebruikt en de fout is in /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

from ...connectors.mysqldb import (
                        MySQLDBExecutionContext,
                        MySQLDBCompiler,
                        MySQLDBIdentifierPreparer,
                        MySQLDBConnector
                    )

Misschien heb je MySQLDB-connector gemist voor SQLAlchemyen de oplossing is om Sqlalchemy opnieuw te installeren na het installeren van mysql-pythonModule.


Antwoord 25

Geen van bovenstaande werkte voor mij op een nieuwe installatie van Ubuntu 18.04 via docker-image.

Het volgende heeft het voor mij opgelost:

apt-get install holland python3-mysqldb


Antwoord 26

Python 3

Zorg ervoor dat de importvolgorde:

#BAD
import MySQLdb             # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()
#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb              # <------- HERE!

Antwoord 27

Python 3.8

sudo apt-get install libmysqlclient-dev
sudo apt-get install -y python3-mysqldb
pip3 install pymysql

settings.py

import pymysql
pymysql.install_as_MySQLdb()

Antwoord 28

Win10 / Python27
dit werkte voor mij:

easy_install mysql-python

alle andere ‘pip install…’ is mislukt met afhankelijkheidsfouten


Antwoord 29

Op mijn Mac met Catalina v10.15.2 had ik het volgende MySQLdb-versieconflict:

ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)

Om het op te lossen, heb ik het volgende gedaan:

pip uninstall MySQL-python
pip install MySQL-python

Antwoord 30

Ondervond dit probleem met mysql.connector.python versie 8.0.24 op mac (als de codebasis hetzelfde is, zou het probleem ook in Windows moeten optreden). Dit bestandop regel 51 importeert “van django.db.backends.mysql.base DatabaseWrapper als MySQLDatabaseWrapper”. Het geïmporteerde bestandheeft de volgende code 14-20(exacte code en fout die u heeft ontvangen, maakt deel uit van code

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

De fout wordt hier gevormd. Ik weet niet zeker waarom deze import steeds terugkomt in een andere versie van mysql-connector, maar 8.0.23 heeft de import niet, dus ik ben teruggegaan naar die versie en de fout was verdwenen… Dit is voor het geval je wilt blijven werken met mysql.connector .python

Other episodes