Używam ActiveState Python 3 w systemie Windows i chciałem połączyć się z moją bazą danych MySQL. Słyszałem, że mysqldb
to moduł, którego należy użyć. Nie mogę znaleźć mysqldb
dla Pythona 3.
Czy jest dostępne repozytorium, w którym istnieją pliki binarne mysqldb
? Jak mogę połączyć się z MySQL w Pythonie 3 w systemie Windows?
python
mysql
python-3.x
panofisz
źródło
źródło
Odpowiedzi:
Obecnie istnieje kilka opcji używania Pythona 3 z mysql:
https://pypi.python.org/pypi/mysql-connector-python
https://pypi.python.org/pypi/pymysql
MySQLdb
, po wywołaniupymysql.install_as_MySQLdb()
https://pypi.python.org/pypi/cymysql
https://pypi.python.org/pypi/mysqlclient
python-mysqldb
ipython3-mysqldb
.testy porównawcze tutaj: https://github.com/methane/mysql-driver-benchmarks
źródło
pip install mysqlclient
po prostu pracował dla mnie! dzięki za obszerną listę opcji.mysqlclient
właśnie pracowałem dla mojej instalacji Python3.4 + Django + Passenger + Dreamhost.testing
jakopython3-mysqldb
, ale go nie mastable
. Tak będzie w następnej wersji.sudo apt-get install python3-mysql.connector
Prawdopodobnie powinieneś zamiast tego użyć pymysql - czystego klienta MySQL Python .
Działa z Pythonem 3.xi nie ma żadnych zależności.
źródło
constants
.Próbowałem również użyć pymysql (na moim komputerze z Win7 x64, Python 3.3), bez zbytniego szczęścia. Ściągnąłem plik .tar.gz, wypakowałem, uruchomiłem „setup.py install” i wszystko wydawało się w porządku. Dopóki nie spróbowałem połączyć się z bazą danych i otrzymałem "KeyError [56]". Błąd, którego nie udało mi się nigdzie znaleźć, udokumentowany.
Zrezygnowałem więc z pymysql i zdecydowałem się na łącznik Oracle MySQL .
Jest dostarczany jako pakiet instalacyjny i działa po wyjęciu z pudełka. Wydaje się też przyzwoicie udokumentowane.
źródło
jeśli chcesz używać MySQLdb najpierw musisz zainstalować pymysql na swoim komputerze wpisując cmd of windows
następnie w powłoce Pythona wpisz
to ustanowi połączenie.
źródło
Nie przetestowano, ale są dostępne pliki binarne pod adresem:
Nieoficjalne pliki binarne systemu Windows
źródło
Podsumowanie
Czy jest dostępne repozytorium, w którym istnieją pliki binarne dla mysqldb?
Jak mogę połączyć się z MySQL w Pythonie 3 w systemie Windows?
Przykład
Nie mogę znaleźć mysqldb dla Pythona 3.
źródło
PyMySQL zapewnia również interfejs podobny do MySQLDb. Możesz spróbować swojej inicjalizacji:
Istnieje również port mysql-python na github dla python3.
https://github.com/davispuh/MySQL-for-Python-3
źródło
Oracle / MySQL zapewnia oficjalny sterownik DBAPI w czystym Pythonie: http://dev.mysql.com/downloads/connector/python/
Użyłem go z Pythonem 3.3 i stwierdziłem, że działa świetnie. Działa również z SQLAlchemy.
Zobacz także to pytanie: czy jest jeszcze za wcześnie, aby wskoczyć do pociągu Python 3?
źródło
Na moim Mac OS Maverick próbuję tego:
W typie terminala:
1) mkdir -p ~ / bin ~ / tmp ~ / lib / python3.3 ~ / src 2) export TMPDIR = ~ / tmp
3) wget -O ~ / bin / 2to3
4) http://hg.python.org / cpython / raw-file / 60c831305e73 / Tools / scripts / 2to3 5) chmod 700 ~ / bin / 2to3 6) cd ~ / src 7) git clone https://github.com/petehunt/PyMySQL.git 8) cd PyMySQL /
9) python3.3 setup.py install --install-lib = $ HOME / lib / python3.3 --install-scripts = $ HOME / bin
Następnie wprowadź interpreter python3 i wpisz:
# prosty skrypt do importu połączenia MySQL pymysql db = pymysql.connect (host = "localhost", user = "root", passwd = "* ", db =" biblioteca ") # Jasne, to jest informacja dla mojej bazy # zamknij połączenie db.close () *
Nadaj mu nazwę (na przykład „con.py”) i zapisz na pulpicie. W Terminalu wpisz "cd desktop", a następnie $ python con.py Jeśli nie ma błędu, jesteś połączony z serwerem MySQL. Powodzenia!
źródło
CyMySQL https://github.com/nakagami/CyMySQL
Zainstalowałem pip na moim Windows 7, z pythonem 3.3 po prostu pip install cymysql
(nie potrzebujesz cythonu) szybko i bezboleśnie
źródło
To nie w pełni odpowiada na moje pierwotne pytanie, ale myślę, że ważne jest, aby wszyscy wiedzieli, co zrobiłem i dlaczego.
Zdecydowałem się nadal używać Pythona 2.7 zamiast Pythona 3 ze względu na rozpowszechnienie przykładów 2.7 i modułów w sieci w ogóle.
Teraz używam zarówno mysqldb, jak i mysql.connector do łączenia się z MySQL w Pythonie 2.7. Obie są świetne i działają dobrze. Myślę, że mysql.connector jest jednak ostatecznie lepszy na dłuższą metę.
źródło
Używam cymysql z python3 na raspberry pi Po prostu zainstalowałem przez: sudo pip3 zainstaluj cython sudo pip3 zainstaluj cymysql, gdzie cython nie jest konieczny, ale powinien przyspieszyć cymysql
Jak dotąd działa jak urok i jest bardzo podobny do MySQLdb
źródło
To jest krótki poradnik jak uruchomić Python 3.7 pracując z MySQL.
Dziękuję wszystkim, od których otrzymałem odpowiedzi na moje pytania
- mam nadzieję, że to komuś kiedyś pomoże.
-------------------------------------------------- -
Mój system:
wersja Windows: Pro 64-bit
WYMAGANIA .. najpierw pobierz i zainstaluj ...
1. Pobierz Xampp ..
https://www.apachefriends.org/download.html
2. Pobierz Python
https://www.python.org/downloads/windows/
- ------------
// METODA
--------------
Najpierw zainstaluj xampp po zakończeniu instalacji - zainstaluj Python 3.7.
Po zakończeniu instalacji obu - uruchom ponownie system Windows.
Teraz uruchom Xampp iz panelu sterowania - uruchom serwer mysql.
Potwierdź wersje, otwierając CMD i typ terminala
Ma to na celu sprawdzenie wersji MYSQL
Ma to na celu sprawdzenie wersji Pythona
Teraz, gdy oba zostały potwierdzone, wpisz następujące polecenie do CMD ...
Po zakończeniu instalacji pymysql.
utwórz nowy plik o nazwie „testconn.py” na pulpicie lub gdziekolwiek, aby mieć do niego szybki dostęp.
Otwórz ten plik za pomocą sublime lub innego edytora tekstu i umieść go w nim.
Pamiętaj, aby zmienić ustawienia, aby odzwierciedlały Twoją bazę danych.
Teraz w swoim CMD - wpisz
I to wszystko ... jesteś teraz w pełni połączony ze skryptu Pythona do mysql ...
Ciesz się ...
źródło
import pymysql
otwarte połączenie z bazą danych
db = pymysql.connect ("localhost", "root", "", "ornament")
przygotuj obiekt kursora za pomocą metody cursor ()
kursor = db.cursor ()
sql = "SELECT * FROM item"
kursor.execute (sql)
Pobierz wszystkie wiersze z listy list.
wyniki = kursor.fetchall () dla wiersza w wynikach: item_title = row [1] comment = row [2] print ("Tytuły pozycji są następujące =% s, komentarze są następujące =% s"% \ (item_title, komentarz))
źródło