Jeśli chcesz używać tego z Python3 (np. Z najnowszą wersją Django), potrzebujesz mysqlclient, ponieważ MysqlDB nie obsługuje Python3. Zobacz to pytanie
TD Smith,
Korzystam z mysqlclient z Python 2.7 i MariaDB bez żadnych problemów.
Dave Everitt
Odpowiedzi:
522
Łatwo to zrobić, ale trudno zapamiętać poprawną pisownię:
pip install mysqlclient
Jeśli potrzebujesz wersji 1.2.x (tylko starszego języka Python), użyj pip install MySQL-python
Uwaga: Niektóre zależności mogą być konieczne podczas uruchamiania powyższego polecenia. Kilka wskazówek, jak zainstalować je na różnych platformach:
ten działał, z jakiegoś powodu prosta instalacja pip nie działa czysto na ubuntu
Dap
W Ubuntu 14.04 pojawi się błąd „podniesienie środowiskaError („ Nie znaleziono% s ”% (mysql_config.path,)), a pierwsze polecenie cmd rozwiązało problem, dzięki zaoszczędź mi trochę czasu
zhihong
Naprawić error: command 'x86_64-linux-gnu-gcc' failed with exit status 1użyciesudo apt-get install build-essential
FelikZ
Zastanawiam się, dlaczego to jest potrzebne. Jedna rzecz przychodzi mi do głowy. Przetestowałem to tylko instalując, a nie budując. Czy zbudowałeś coś, co zainstalowałeś, a nie tylko?
Ray Kiddy
Należy oczywiście zaakceptować odpowiedź na Ubuntu.
Roon13
23
Pierwszy
pip install pymysql
Następnie umieść poniższy kod w __init__.py( projectname/__init__.py)
import pymysql
pymysql.install_as_MySQLdb()
Moje środowisko to (python3.5, django1.10) i to rozwiązanie działa dla mnie!
Woow, odczekałem ponad 5 godzin, próbując to naprawić bez powodzenia. Jest to jedyne rozwiązanie, które działało na Ubuntu 16.04 / python 3.5 / Django 1.11. Dzięki za udostępnienie tego.
Paullo,
to nie działa dla mnie, moim środowiskiem jest Python 3.7 i django 2.2. Proszę pomóż mi.
Rajen K Bhagat
To powinno tam być. Szukałem rozwiązania od wielu godzin. Mam virtualenv z python 2.7 z systemem django 1.6. Nie mogłem zainstalować MySQL-python ani mysqlclient. Bez względu na to, co próbowałem, otrzymywałem „błąd krytyczny: mysql.h”. Ten załatwił sprawę.
rolandsaven,
22
Miałem problemy z instalacją 64-bitowej wersji MySQLdb w systemie Windows za pośrednictwem Pip (źródła problemów z kompilacją) [wersja 32-bitowa zainstalowana OK]. Udało się zainstalować skompilowaną MySQLdb z pliku .whl dostępnego na stronie http://www.lfd.uci.edu/~gohlke/pythonlibs/
Dalsze działania: jeśli masz 64-bitową wersję Pythona, to chcesz zainstalować 64-bitową wersję MySQLdb AMD z linku powyżej [tj. Nawet jeśli masz procesor Intel]. Jeśli zamiast tego spróbujesz zainstalować wersję 32-bitową, myślę, że pojawia się nieobsługiwany błąd koła w komentarzach poniżej.
Poszedłem do http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python, aby pobrać whlplik (dl 64-bitowy, aby pasował do mojej 64-bitowej instalacji Python). Zapisałem plik do c:/katalogu i uruchomiłem. pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whlZainstalował się w kilka sekund i był gotowy do pracy. Zbyt łatwe!
Curtisp
Pracowałem również dla mnie, ponieważ instalacja PIP według nazwy kończyła się niepowodzeniem.
Pytanie było konkretnie wspomniane pip. Jakiej dystrybucji używasz? Na Fedorze 24 to działa zainstalować moduł poprzez pip: sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc,sudo pip install MySQL-python
Marian
Rozumiem, że pytanie jest za pośrednictwem pipa, ale osobiście nie byłem w stanie rozwiązać go za pomocą pipa. Dlatego właśnie podzieliłem się moim obejściem, które rozwiązało problem. Używam centos 6.8. lista pip nie pokazuje niczego związanego z mysql, a kiedy wykonuję „pip install MySQL-python”, zwrócił błąd. Teraz co ciekawe, zorientowałem się, że kiedy instalujemy przez yum, to: „mniam zainstalować MySQL-python” jestem w stanie zaimportować MySQLdb. Raz też zrobiłem z instalacją yum, byłem w stanie zainstalować przez pip bez żadnych błędów.
Ashwin
6
Przejdź do pycharm, a następnie przejdź do ustawienia domyślnego -> pip (podwójne kliknięcie) - pymsqldb ..--> zainstaluj - po instalacji użyj w takim programie jak ten
import pymysql asMySQLdb# Open database connection
db =MySQLdb.connect("localhost","root","root","test")# prepare a cursor object using cursor() method
cursor = db.cursor()# execute SQL query using execute() method.
cursor.execute("show tables")# Fetch a single row using fetchone() method.
data = cursor.fetchall()print(data)# disconnect from server
db.close()
Miałem też ten sam problem: jeśli korzystasz z systemu Windows, wykonaj te czynności. Idź do: 1.Mój komputer 2. Właściwości systemu 3. Zaawansowane ustawienia systemu 4. W zakładce „Zaawansowane” kliknij przycisk z napisem „Zmienne środowiskowe” 5. Następnie w Zmiennych systemowych musisz dodać / zmienić następujące zmienne: PYTHONPATH i ścieżka. Oto pasta moich zmiennych: ścieżka python:
Powyższa odpowiedź jest świetna, ale mogą wystąpić pewne problemy, gdy używamy pipa do instalacji MySQL-python w systemie Windows
na przykład potrzebuje niektórych plików powiązanych z Visual Stdio . rozwiązaniem jest instalacja VS2008 lub 2010 …… Oczywiście, to kosztuje zbyt wiele.
Innym sposobem jest odpowiedź @ bob90937. Jestem tutaj, aby zrobić coś do dodania.
dzięki http://www.lfd.uci.edu/~gohlke/pythonlibs możesz pobrać wiele plików binarnych Windows wielu naukowych rozszerzeń open source do oficjalnej dystrybucji języka programowania Python.
Wracając do tematu, możemy wybrać MySQL-python (py2) lub Mysqlclient (py3) i użyć instalacji pip do instalacji. daje nam wielką wygodę!
Niezbyt dobra odpowiedź. Zakładasz, że wersja Python to 3, a system operacyjny to Debian / Ubuntu, ale nie wiesz o tym. Poczekaj, aż autor doda więcej szczegółów.
dr
0
Moje środowisko to:
Windows 10 Pro,
Python 3.7 (python-3.7.1-amd64.exe),
MySQL 8.0 (mysql-installer-web-community-8.0.13.0.msi)
właściwie, odpowiedź @Nick T nie działa dla mnie, próbuję apt-get install python-mysqldbpracować dla siebie
root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldbReadingpackage lists...DoneBuilding dependency tree
Reading state information...DoneThe following additional packages will be installed:
libmariadbclient18 mysql-common
Suggested packages:default-mysql-server |virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
libmariadbclient18 mysql-common python-mysqldb
0 upgraded,3 newly installed,0 to removeand29not upgraded.Need to get843 kB of archives.Afterthis operation,4611 kB of additional disk space will be used.Do you want to continue?[Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB] Fetched843 kB in23s(35.8 kB/s)
debconf: delaying package configuration, since apt-utils isnot installed
Selecting previously unselected package mysql-common.(Reading database ...13223 files and directories currently installed.)Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...Unpacking mysql-common (5.8+1.0.2)...Selecting previously unselected package libmariadbclient18:amd64.Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1)...Selecting previously unselected package python-mysqldb.Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...Unpacking python-mysqldb (1.3.7-1.1)...Setting up mysql-common (5.8+1.0.2)...
update-alternatives:using/etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf)inauto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1)...Processing triggers for libc-bin (2.24-11+deb9u3)...Setting up python-mysqldb (1.3.7-1.1)...
root@2fb0da64a933:/home/test_scrapy# python Python2.7.13(default,Nov242017,17:33:09)[GCC 6.3.020170516] on linux2
Type"help","copyright","credits"or"license"for more information.>>>importMySQLdb>>>
Odpowiedzi:
Łatwo to zrobić, ale trudno zapamiętać poprawną pisownię:
Jeśli potrzebujesz wersji 1.2.x (tylko starszego języka Python), użyj
pip install MySQL-python
Uwaga: Niektóre zależności mogą być konieczne podczas uruchamiania powyższego polecenia. Kilka wskazówek, jak zainstalować je na różnych platformach:
Ubuntu 14, Ubuntu 16, Debian 8.6 (jessie)
Fedora 24:
System operacyjny Mac
jeśli to się nie powiedzie, spróbuj
źródło
pip search mysql
i znaleźć potrzebną w wynikach.pip search mysqldb
i nie znalazłem. Daję +1 tej odpowiedzi.Począwszy od nowego systemu Ubuntu 14.04.2, potrzebne były następujące dwa polecenia:
Samo wykonanie „instalacji pip” nie działało.
From http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/
źródło
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
użyciesudo apt-get install build-essential
Pierwszy
Następnie umieść poniższy kod w
__init__.py
(projectname/__init__.py
)Moje środowisko to (python3.5, django1.10) i to rozwiązanie działa dla mnie!
Mam nadzieję że to pomoże!!
źródło
Miałem problemy z instalacją 64-bitowej wersji MySQLdb w systemie Windows za pośrednictwem Pip (źródła problemów z kompilacją) [wersja 32-bitowa zainstalowana OK]. Udało się zainstalować skompilowaną MySQLdb z pliku .whl dostępnego na stronie http://www.lfd.uci.edu/~gohlke/pythonlibs/
Plik .whl można następnie zainstalować za pomocą pip jako dokument w https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels
Na przykład, jeśli zapiszesz w
C:/
, możesz zainstalować za pośrednictwempip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Dalsze działania: jeśli masz 64-bitową wersję Pythona, to chcesz zainstalować 64-bitową wersję MySQLdb AMD z linku powyżej [tj. Nawet jeśli masz procesor Intel]. Jeśli zamiast tego spróbujesz zainstalować wersję 32-bitową, myślę, że pojawia się nieobsługiwany błąd koła w komentarzach poniżej.
źródło
pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl
działa świetnie.whl
plik (dl 64-bitowy, aby pasował do mojej 64-bitowej instalacji Python). Zapisałem plik doc:/
katalogu i uruchomiłem.pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Zainstalował się w kilka sekund i był gotowy do pracy. Zbyt łatwe!dobrze, to zadziałało dla mnie:
dotyczy to Pythona 3.x
źródło
Wypróbowałem wszystkie opcje, ale nie byłem w stanie sprawić, by działała na platformie Redhat. Wykonałem następujące czynności, aby to działało: -
Po zainstalowaniu pakietu był w stanie zaimportować moduł do interpretera w następujący sposób: -
źródło
pip
. Jakiej dystrybucji używasz? Na Fedorze 24 to działa zainstalować moduł poprzez pip:sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
,sudo pip install MySQL-python
Przejdź do pycharm, a następnie przejdź do ustawienia domyślnego -> pip (podwójne kliknięcie) - pymsqldb ..--> zainstaluj - po instalacji użyj w takim programie jak ten
źródło
Jeśli używasz Raspberry Pi [Raspbian OS]
Najpierw trzeba zainstalować polecenie pip
Więc po prostu zainstaluj Sekwencyjnie
źródło
Możesz przejść do tej witryny, aby pobrać pakiet.
źródło
Jeśli nie możesz zainstalować mysqlclient , możesz także zainstalować pymysql :
pip install pymysql
Działa to tak samo jak MySqldb . Następnie użyj pymysql zamiast MySQLdb
źródło
Miałem też ten sam problem: jeśli korzystasz z systemu Windows, wykonaj te czynności. Idź do: 1.Mój komputer 2. Właściwości systemu 3. Zaawansowane ustawienia systemu 4. W zakładce „Zaawansowane” kliknij przycisk z napisem „Zmienne środowiskowe” 5. Następnie w Zmiennych systemowych musisz dodać / zmienić następujące zmienne: PYTHONPATH i ścieżka. Oto pasta moich zmiennych: ścieżka python:
ścieżka:
Zobacz ten link w celach informacyjnych
źródło
Powyższa odpowiedź jest świetna, ale mogą wystąpić pewne problemy, gdy używamy pipa do instalacji MySQL-python w systemie Windows
na przykład potrzebuje niektórych plików powiązanych z Visual Stdio . rozwiązaniem jest instalacja VS2008 lub 2010 …… Oczywiście, to kosztuje zbyt wiele.
Innym sposobem jest odpowiedź @ bob90937. Jestem tutaj, aby zrobić coś do dodania.
dzięki http://www.lfd.uci.edu/~gohlke/pythonlibs możesz pobrać wiele plików binarnych Windows wielu naukowych rozszerzeń open source do oficjalnej dystrybucji języka programowania Python.
Wracając do tematu, możemy wybrać MySQL-python (py2) lub Mysqlclient (py3) i użyć instalacji pip do instalacji. daje nam wielką wygodę!
źródło
W przypadku Python3 musiałem to zrobić:
źródło
pip install mysql-connector-python
jak zauważono w dokumentacji:https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html
źródło
na RHEL 7:
sudo yum install yum-utils mariadb-devel python-pip python-devel gcc
sudo /bin/pip2 install MySQL-python
źródło
Jeśli w systemie jest zainstalowany system Windows, wpisz następujące polecenie na cmd:
jeśli powyższe polecenie nie działa, spróbuj użyć:
Teraz, jeśli powyższe polecenia nie wykonają pracy, spróbuj użyć:
To jest to, że teraz dobrze jest iść.
źródło
Wiele z podanych tutaj odpowiedzi jest dość mylących, więc postaram się to po prostu wyjaśnić. Pomogło mi to zainstalować
a następnie użyj następującego polecenia w pliku python
W ten sposób możesz bez problemu korzystać z MySQLdb.
źródło
Jeśli pip3 nie działa, możesz spróbować:
źródło
Moje środowisko to:
pip zainstaluj mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
pracuje dla mnie.
źródło
właściwie, odpowiedź @Nick T nie działa dla mnie, próbuję
apt-get install python-mysqldb
pracować dla siebieźródło