Come posso installare il modulo MySQLdb per Python usando pip?
Come posso installare il modulo MySQLdb per Python usando pip?
Risposte:
È facile da fare, ma difficile ricordare l'ortografia corretta:
pip install mysqlclient
Se hai bisogno delle versioni 1.2.x (solo Python legacy), usa pip install MySQL-python
Nota: alcune dipendenze potrebbero dover essere presenti quando si esegue il comando sopra. Alcuni consigli su come installarli su varie piattaforme:
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
se fallisce, prova
brew install mysql
pip search mysql
e trovare quello che ti serve nell'output.
pip search mysqldb
e non l'ho trovato. Quindi, +1 a questa risposta.
A partire da un nuovo sistema Ubuntu 14.04.2, erano necessari questi due comandi:
apt-get install python-dev libmysqlclient-dev
pip install MySQL-python
Il solo fatto di "installare pip" da solo non ha funzionato.
Da 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
usosudo apt-get install build-essential
Primo
pip install pymysql
Quindi inserisci il codice seguente in __init__.py
( projectname/__init__.py
)
import pymysql
pymysql.install_as_MySQLdb()
Il mio ambiente è (python3.5, django1.10) e questa soluzione funziona per me!
Spero che questo ti aiuti!!
Ho avuto problemi con l'installazione della versione a 64 bit di MySQLdb su Windows tramite Pip (fonti di compilazione dei problemi) [versione a 32 bit installata ok]. Gestito per installare il MySQLdb compilato dal file .whl disponibile da http://www.lfd.uci.edu/~gohlke/pythonlibs/
Il file .whl può quindi essere installato tramite pip come documento in https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels
Ad esempio, se si salva in C:/
è possibile installare tramite
pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Follow-up: se hai installato una versione a 64 bit di Python, allora vuoi installare la versione AMD a 64 bit di MySQLdb dal link sopra [cioè anche se hai un processore Intel]. Se invece provi ad installare la versione a 32 bit, penso che visualizzi l'errore della ruota non supportato nei commenti seguenti.
pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl
funziona alla grande.
whl
file (ho scaricato 64 bit per abbinare la mia installazione Python a 64 bit). File salvato nella c:/
directory ed eseguito pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Si è installato in pochi secondi ed è andato bene. Troppo facile!
bene questo ha funzionato per me:
pip install mysqlclient
questo è per Python 3.x
Ho provato tutte le opzioni ma non sono riuscito a farlo funzionare sulla piattaforma Redhat. Ho fatto quanto segue per farlo funzionare: -
yum install MySQL-python -y
Una volta installato il pacchetto è stato in grado di importare il modulo come segue nell'interprete: -
>>> import MySQLdb
>>>
pip
. Quale distribuzione stai usando? Su Fedora 24, questo funziona per installare il modulo tramite pip: sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
,sudo pip install MySQL-python
Vai su pycharm quindi vai alle impostazioni predefinite -> pip (doppio clic) - pymsqldb ..--> installa - dopo l'installazione usa in un programma come questo
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()
Se si utilizza Raspberry Pi [Raspbian OS]
All'inizio è necessario il comando install pip
apt-get install python-pip
In questo modo basta installare in sequenza
apt-get install python-dev libmysqlclient-dev
apt-get install python-pip
pip install MySQL-python
Se non riesci a installare mysqlclient puoi anche installare pymysql :
pip install pymysql
Funziona allo stesso modo di MySqldb . Dopodiché usa pymysql ovunque anziché MySQLdb
Ho avuto anche lo stesso problema. Segui questi passaggi se sei su Windows. Vai a: 1.Il mio computer 2. Proprietà del sistema 3. Impostazioni di sistema avanzate 4. Nella scheda "Avanzate" fai clic sul pulsante "Variabili d'ambiente" 5. Quindi in Variabili di sistema devi aggiungere / modificare le seguenti variabili: PYTHONPATH e percorso. Ecco un incolla di come appaiono le mie variabili: percorso python:
C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
sentiero:
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
Vedi questo link per riferimento
La risposta sopra è ottima, ma potrebbero esserci dei problemi quando usiamo pip per installare MySQL-python in Windows
per esempio, ha bisogno di alcuni file associati a Visual Stdio . Una soluzione sta installando VS2008 o 2010 …… Ovviamente, costa troppo.
Un altro modo è la risposta di @ bob90937. Sono qui per fare qualcosa da aggiungere.
con http://www.lfd.uci.edu/~gohlke/pythonlibs , puoi scaricare molti binari di Windows di molti pacchetti di estensione scientifica open source per la distribuzione ufficiale CPython del linguaggio di programmazione Python.
Tornando all'argomento, possiamo scegliere MySQL-python (py2) o Mysqlclient (py3) e usare pip install per installare. ci dà una grande comodità!
Per Python3 dovevo fare questo:
python3 -m pip install MySQL
pip install mysql-connector-python
come indicato nella documentazione:
https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html
Se hai Windows installato sul tuo sistema, digita il seguente comando su cmd:
pip install mysql-connector
se il comando sopra non funziona provare a usare:
pip install mysql-connector-python
Ora, se i comandi sopra non riescono a fare il lavoro, prova a usare:
pip install mysql-connector-python-rf
Ecco, sei a posto ora.
Se pip3 non funziona, puoi provare:
sudo apt install python3-mysqldb
Il mio ambiente è:
installazione pip mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
per me va bene.
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()
in realtà, segui la risposta di @Nick T non funziona per me, provo a apt-get install python-mysqldb
lavorare per me
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
>>>