Żaden moduł o nazwie MySQLdb


400

Używam Pythona w wersji 2.5.4 i instaluję MySQL w wersji 5.0 i Django. Django działa dobrze z Pythonem, ale nie MySQL. Używam go w systemie Windows Vista.


43
pip install mysql-pythonlubpip install mysqlclient
— Cœur

13
Musiałem zainstalować, sudo apt-get install libmysqlclient-devaby działało.
— b00r00x0

pip install mysqlclient pracował na Windowsie x64 10, ty rock Cœur
— Itachi Sama

8
Dla Python3.6 sudo apt-get install libmysqlclient-devi pip3 install mysqlclientpracował dla mnie
— Umair

Odpowiedzi:


638

Musisz użyć jednego z następujących poleceń. Który zależy od posiadanego i używanego systemu operacyjnego i oprogramowania.

  1. easy_install mysql-python (mix os)
  2. pip install mysql-python (mix os / python 2)
  3. pip install mysqlclient (mix os / python 3)
  4. apt-get install python-mysqldb (Linux Ubuntu, ...)
  5. cd / usr / porty / bazy danych / py-MySQLdb && sprawiają, że instalacja jest czysta (FreeBSD)
  6. mniam zainstalować MySQL-python (Linux Fedora, CentOS ...)

W przypadku systemu Windows zapoznaj się z tą odpowiedzią: Zainstaluj mysql-python (Windows)


1
Musiałem zaktualizować moją wersję setuptools, aby pasowała do mojej zaktualizowanej wersji Pythona w systemie Mac OS, zanim mogłem to uruchomić.
— Jonathan Adelson

4
a co powiesz na instalację na virtualenv z Pythonem 3? Użyłem: pip zainstaluj mysql-python tylko, aby uzyskać: ImportError: Brak modułu o nazwie ConfigParser
— Iliyan Bobev

9
W Pythonie 3 zmieniono nazwę ConfigParser na configparser dla zgodności z PEP 8. Wygląda na to, że pakiet, który instalujesz, nie obsługuje Python 3. Python MySQL nie obsługuje obecnie Python 3.
— derevo 28.08.13

2
Ten błąd pojawia się, gdy używam 1 lub 2 w OSX Yosemite:EnvironmentError: mysql_config not found
— Mona Jalal

1
FYI - Jestem na Ubuntu 18 i używam python3.7. Po wykonaniu „pip install mysqlclient”, musiałem wykonać „sudo apt-get install libmysqlclient-dev”, aby instalacja przebiegła pomyślnie.
— Rashmi Singh,

143

... i pamiętaj, że nie ma MySQLdb dla python3.x

(Wiem, że pytanie dotyczy python2.x, ale Google dość wysoko ocenia ten post)


EDYCJA: Jak stwierdzono w komentarzach, istnieje rozwidlenie MySQLdb, które dodaje obsługę języka Python 3: github.com/PyMySQL/mysqlclient-python


Urghhgwaarrbl ... mam nadzieję na użycie python3 w mojej aplikacji Django
— Don Cheadle

6
Na szczęście istnieje wybór alternatyw, z których wiele korzysta z tego samego interfejsu API: Python 3 i MySQL
— Anthony Geoghegan

4
mysqlclient to rozwidlenie MySQLdb, które dobrze współpracuje z Pythonem 3.
— ostrokach

@JanekOlszak Nie wiedziałem o tym - zajęło mi to tylko około dnia wielu przekleństw i uderzeń w klawiaturę - aż do przeczytania tego i zamiany na 2.7. I zgadnij co, wszystko działa hunky-dory ~
— 3kstc

Moja podróż, to -> to -> to . I w końcu udało mi się go pomyślnie zainstalować.
— daka

68

jeśli twoja wersja python jest 3.5, zrób pip install mysqlclient, inne rzeczy nie działały dla mnie


Nie wiem, dlaczego ta odpowiedź została odrzucona, ale mysqlclientjest rozwidleniem projektu MySQLdb i mogę potwierdzić, że zadziałało to dla mnie w systemie Windows 10
— Hamman Samuel

1
Pracowałem dla mnie nad arch. Linuksem
— Luke Dupin

Pracował na Ubuntu 16.10, Python 3.5.2+
— tivadj

Pracował na Ubuntu 14.04 Python 3.4.3
— gpk27

Pracował na macOS, Python 3.6.0
— Miguel Mota

48

mysqldbto moduł dla Pythona, który nie jest fabrycznie zainstalowany lub z Django. Możesz pobrać mysqldb tutaj .


1
Próbuję zainstalować MySQL-python-1.2.1. Pojawia się komunikat ImportError: Brak modułu o nazwie setuptools Próbuję zainstalować setuptools, ale otrzymuję zlib niedostępny Czy to nie powinno być dołączone do Pythona?
— Pierre de LESPINAY

po pobraniu modułu musisz edytować plik site.cfg z właściwą ścieżką dla mysql_config i uruchomićpython setup.py install
— ntanase


25

Uwaga: nie jest to testowane dla Pythona 3.x

W CMD

pip install wheel
pip install pymysql

w settings.py

import pymysql
pymysql.install_as_MySQLdb()

To zadziałało ze mną


3
„pip3 install mysqlclient” rozwiązuje problem dla
— python3.6

Nie mogę głosować wystarczająco! Jedyne rozwiązanie, które działa na Databricks ..
— Foxan Ng

13
pip install PyMySQL

a następnie dodaj te dwa wiersze do swojego Project / Project / init .py

import pymysql
pymysql.install_as_MySQLdb()

Działa na WIN i python 3.3+


Z powodzeniem wykorzystałem twoją sugestię. Jedyną zmianą było polecenie importu: import pymysql Wystąpił typ.
— Jorge,

pracował dla mnie na Windows10, Python 3.6, środowisko wirtualne
— Yikang Luo

1
Uwielbiam ten hack. Chociaż udało mi się sprawić, że działał bez niego, musiałem jeszcze zawierać plik binarny whql.
— Ishmael,

Powinna być poprawna odpowiedź.
— Jossie Calderon

12

Spróbuj tego.

pip install MySQL-python

2
Jak to się odnosi w szczególności do środowisk wirtualnych?
— Tim

9

dla okna:

pip install mysqlclient pymysql

następnie:

import pymysql pymysql.install_as_MySQLdb ()

dla python 3 Ubuntu

sudo apt-get install -y python3-mysqldb

Uruchomienie po prostu „pip install mysqlclient pymysql” w systemie Windows 10 (Python 3.6.2) rozwiązało mój problem.
— Rick Sarvas,

8

Jeśli pip install mysqlclient generuje błąd i używasz Ubuntu, spróbuj:

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

6

Tę samą sytuację spotkałem pod oknami i szukałem rozwiązania.

Widząc ten post Zainstaluj mysql-python (Windows) .

Wskazuje, że instalacja takiego środowiska pip jest trudna, wymaga wielu innych zależności.

Ale w końcu wiem, że jeśli używamy mysqlclientwersji do niższej 1.3.4, to nie potrzebuje już tych wymagań, więc spróbuj:

pip install mysqlclient==1.3.4

4
  • Przejdź do katalogu projektu za pomocą cd.
  • source / bin / aktywuj (aktywuj swoje środowisko, jeśli nie wcześniej).
  • Uruchom polecenie easy_install MySQL-python

1
Nie działaModuleNotFoundError: No module named 'ConfigParser'
— TomSawyer

4
pip install --user mysqlclient 

powyżej działa dla mnie jak urok dla mnie. Właściwie wychodzę na błąd z sqlalchemy. Informacje o środowisku:

Python: 3.6, Ubuntu: 16.04, conda 4.6.8


3

Dzięki derevo, ale myślę, że jest inny dobry sposób:

  1. Pobierz i zainstaluj ActivePython
  2. Otwórz wiersz polecenia
  3. Rodzaj pypm install mysql-python
  4. Przeczytaj uwagi dotyczące tego pakietu.

Myślę, że pypmjest bardziej wydajny i niezawodny niż easy_install.


Wygląda na to, że wymaga płatnej subskrypcjiCan't install mysql-python-1.2.3: requires Business Edition subscription
— Jeremy S.

Nie wydaje mi się Pamiętam, że zainstalowałem to bez problemu.
— Afshin Mehrabani

dlaczego uważasz, że pypm jest potężniejszy i bardziej niezawodny niż easy_install? jakieś punkty na poparcie tego? jakieś artykuły / posty na blogu?
— Sandeep Raju Prabhakar

2
Myślę, że byłby to artykuł / post na blogu potwierdzający, że: PI oznacza, daj spokój, popierasz taki komentarz typowo technicznymi argumentami, a nie z kimś innym, kto twierdzi, że to samo, ale także może nie mieć argumentów. Argumenty byłyby jednak miłe;)
— Herbert

3

Dla wersji Python 3+

zainstaluj mysql-connectorjako:

pip3 install mysql-connector 

Przykładowy kod połączenia Python DB:

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

Wynik:

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

Oznacza to, że baza danych jest poprawnie podłączona.


3

Osobiście zalecam używanie pymysqlzamiast oryginalnego konektora MySQL, który zapewnia niezależny od platformy interfejs i można go zainstalować pip.

Możesz edytować schemat adresu URL SQLAlchemy w następujący sposób: mysql+pymysql://username:passwd@host/database


3

Dla Pythona 3.6+ sudo apt-get install libmysqlclient-devi pip3 install mysqlclient załatwia sprawę


2

Jeśli korzystasz z systemu Vista, możesz sprawdzić stos Bitnami Django. Jest to kompleksowy stos Apache, Python, MySQL itp., Spakowany z instalatorami krzyżowymi Bitrock, aby naprawdę łatwo było zacząć. Działa w systemach Windows, Mac i Linux. Aha, i jest całkowicie darmowy :)


Dlaczego więc powiedziałeś „Jeśli korzystasz z systemu Vista”, jeśli będzie działać na więcej niż systemie Vista? Jest to mylące i mylące.
— Anthony

3
Do Anthony'ego: Po prostu zabawne było to, że w głosowaniu, który otrzymał najwięcej głosów, podano instrukcje dla Linuksa, FreeBSD i OSX, ale nie dla Visty zgodnie z plakatem
— Daniel Lopez

2

Próbowałem powyższych metod, ale nadal nie ma modułu o nazwie „MySQLdb”, w końcu udało mi się

easy_install mysql-python

moja env to unbuntu 14.04


sukces dla virtualenv / python2.7
— nguyên

1

W OSX te polecenia działały dla mnie

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

1

Jeśli używasz SQLAlchemy, a błąd występuje w /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

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

więc mogło brakować konektora mysqldb, SQLAlchemya rozwiązaniem jest ponowna instalacja narzędzia sqlalchemy po zainstalowaniu mysql-pythonmodułu.


0

Win10 / Python27 to zadziałało dla mnie:

easy_install mysql-python

wszystkie inne „instalacje pip ...” nie powiodły się z błędami zależności


0

Żadne z powyższych nie działało dla mnie w przypadku nowej instalacji Ubuntu 18.04 za pośrednictwem obrazu dokowania.

Dla mnie to rozwiązało:

apt-get install holland python3-mysqldb


0

Na moim komputerze Mac z Cataliną 10.15.2 miałem następujący konflikt wersji MySQLdb:

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

Aby to rozwiązać, wykonałem następujące czynności:

pip uninstall MySQL-python
pip install MySQL-python

0

W przypadku Debian Buster następujące rozwiązanie działało w przypadku Pythona 3.7:

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

0

Jestem w Ubuntu (Linux) i to, co zadziałało, było dla mnie

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

a potem w końcu

pip install mysqlclient
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.