Jak mogę zainstalować moduł MySQLdb dla Pythona za pomocą pip?
Jak mogę zainstalować moduł MySQLdb dla Pythona za pomocą pip?
Odpowiedzi:
Ł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:
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
brew install mysql-connector-c
jeśli to się nie powiedzie, spróbuj
brew install mysql
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:
apt-get install python-dev libmysqlclient-dev
pip install MySQL-python
Samo wykonanie „instalacji pip” nie działało.
From http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
użyciesudo apt-get install build-essential
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!
Mam nadzieję że to pomoże!!
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średnictwem
pip 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.
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 do c:/
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:
pip install mysqlclient
dotyczy to Pythona 3.x
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: -
yum install MySQL-python -y
Po zainstalowaniu pakietu był w stanie zaimportować moduł do interpretera w następujący sposób: -
>>> import MySQLdb
>>>
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
import pymysql as MySQLdb
# 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()
Jeśli używasz Raspberry Pi [Raspbian OS]
Najpierw trzeba zainstalować polecenie pip
apt-get install python-pip
Więc po prostu zainstaluj Sekwencyjnie
apt-get install python-dev libmysqlclient-dev
apt-get install python-pip
pip install MySQL-python
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
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:
C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
ścieżka:
C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
Zobacz ten link w celach informacyjnych
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ę!
W przypadku Python3 musiałem to zrobić:
python3 -m pip install MySQL
pip install mysql-connector-python
jak zauważono w dokumentacji:
https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html
na RHEL 7:
sudo yum install yum-utils mariadb-devel python-pip python-devel gcc
sudo /bin/pip2 install MySQL-python
Jeśli w systemie jest zainstalowany system Windows, wpisz następujące polecenie na cmd:
pip install mysql-connector
jeśli powyższe polecenie nie działa, spróbuj użyć:
pip install mysql-connector-python
Teraz, jeśli powyższe polecenia nie wykonają pracy, spróbuj użyć:
pip install mysql-connector-python-rf
To jest to, że teraz dobrze jest iść.
Jeśli pip3 nie działa, możesz spróbować:
sudo apt install python3-mysqldb
Moje środowisko to:
pip zainstaluj mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
pracuje dla mnie.
import MySQLdb, sys
# --------------------------------------------------
# Connect to MySQL
# --------------------------------------------------
try:
db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", charset='cp1251')
except MySQLdb.Error as e:
print ("Error %d: %s" % (e.args[0], e.args[1]))
sys.exit()
# Creating cursor
cursor = db.cursor()
właściwie, odpowiedź @Nick T nie działa dla mnie, próbuję apt-get install python-mysqldb
pracować dla siebie
root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree
Reading state information... Done
The 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 remove and 29 not upgraded.
Need to get 843 kB of archives.
After this 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]
Fetched 843 kB in 23s (35.8 kB/s)
debconf: delaying package configuration, since apt-utils is not 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) in auto 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
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>