<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Web, Technologies, IA, Vidéo... - Python</title><link href="https://www.alkannoide.com/" rel="alternate"/><link href="https://www.alkannoide.com/feeds/python.atom.xml" rel="self"/><id>https://www.alkannoide.com/</id><updated>2011-02-09T21:12:00+01:00</updated><entry><title>Python - MySQL (via MAMP sous Mac OS X)</title><link href="https://www.alkannoide.com/2011/02/09/python-mysql-via-mamp-sous-mac-os-x/" rel="alternate"/><published>2011-02-09T21:12:00+01:00</published><updated>2011-02-09T21:12:00+01:00</updated><author><name>admin</name></author><id>tag:www.alkannoide.com,2011-02-09:/2011/02/09/python-mysql-via-mamp-sous-mac-os-x/</id><summary type="html">&lt;p&gt;Je suis actuellement à la découverte de &lt;a href="http://www.python.org"&gt;Python&lt;/a&gt;. A cet effet, je regardais la méthode pour me connecter à une base de données MySQL. J'ai passé pas mal de temps à configurer mon environnement, j'en profite donc pour vous faire profiter de mes remarques pour l'installation et la configuration du …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Je suis actuellement à la découverte de &lt;a href="http://www.python.org"&gt;Python&lt;/a&gt;. A cet effet, je regardais la méthode pour me connecter à une base de données MySQL. J'ai passé pas mal de temps à configurer mon environnement, j'en profite donc pour vous faire profiter de mes remarques pour l'installation et la configuration du module permettant l'intéraction BDD \&amp;lt;-&amp;gt; langage. Je travaille sous Mac OS X (Snow Leopard) avec MAMP et voici les différentes étapes permettant de se connecter à une base de donnée MySQL depuis Python.&lt;!--more--&gt;&lt;/p&gt;
&lt;h2&gt;Etape 1 : installé MySQL depuis les sources&lt;/h2&gt;
&lt;p&gt;Décompresser le fichier depuis le dossier où se trouve le fichier :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;tar xzvf mysql-5.1.55.tar.gz&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;cd mysql-5.1.37&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-shared --with-plugins=innobase&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;make&lt;/em&gt; (cette étape prends quelques minutes, on est tout de même en train de compiler MySQL)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;sudo make install&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On s'arrête maintenant là pour la partie Server de MySQL.&lt;/p&gt;
&lt;h2&gt;Etape 2 : installé le module Python MySQLdb&lt;/h2&gt;
&lt;p&gt;On commence tout d'abord par définir dans l'environnement où se trouve les commandes MySQL via cette command&lt;/p&gt;
&lt;p&gt;&lt;em&gt;export PATH=\$PATH:/usr/local/mysql/bin/&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Vérifier ensuite que vous avez installé &lt;em&gt;setuptools&lt;/em&gt;, le cas échéant, vous pouvez télécharger sur &lt;a href="http://pypi.python.org/pypi/setuptools"&gt;le site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il faut ensuite télécharger et décompresser le fichier suivant : &lt;a href="http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download"&gt;MySQLdb&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Effectuer ensuite les commandes suivantes :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;sudo python setup.py clean&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;sudo python setup.py build&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;sudo python setup.py install&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Testez ensuite le module est bien installé. Pour cela, faites les commandes suivantes:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;cd&lt;/em&gt; (il est conseillé d'être dans un autre dossier que celui où se trouve le module MySQLdb)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;python&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;gt;&amp;gt;&amp;gt; import MySQLdb&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si aucune erreur ne s'affiche, c'est que le module est bien disponible.&lt;/p&gt;
&lt;h2&gt;Etape 3 : connexion depuis un script Python&lt;/h2&gt;
&lt;p&gt;Tout est prêt maintenant, je vais tenter de me connecter via le script de base (via la &lt;a href="http://www.kitebird.com/articles/pydbapi.html#TOC_3"&gt;documentation&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;conn = MySQLdb.connect(host = "localhost", user = "root",passwd = "root",db = "mysql")&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;cursor = conn.cursor()&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;cursor.execute ("DESCRIBE user")&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;rows = cursor.fetchall()&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;for row in rows:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;print row&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;cursor.close ()&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;conn.close ()&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Cependant une exception se lève&lt;/p&gt;
&lt;p&gt;En effet, vous n'utilisez pas le mysql compilé précédemment mais celui de MAMP, il faut donc rajouter un paramètre supplémentaire :&lt;/p&gt;
&lt;p&gt;Relancez votre script et le tour est joué, vous êtes connecté à votre base de donnée MySQL MAMP.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Source : &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://hivelogic.com/articles/compiling-mysql-on-snow-leopard"&gt;Installing MySQL on Snow Leopard&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kitebird.com/articles/pydbapi.html"&gt;Writing MySQL Scripts with Python DB-API&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mysql-python.sourceforge.net/MySQLdb-1.2.2/"&gt;Documentation officielle&lt;/a&gt;&lt;/p&gt;</content><category term="Python"/></entry></feed>