web-dev-qa-db-fra.com

Utilisation de Python3 mysqlclient-1.3.6 (alias PyMySQL)?

Im toujours beaucoup d'apprentissage python et toutes les différentes façons d'utiliser des modules tiers. J'ai installé https://pypi.python.org/pypi/mysqlclient qui a été recommandé ici Python 3 et MySQL

Je crois que j'ai installé le package correctement

D:\install\python modules>python -m pip install mysqlclient-1.3.6-cp34-none-win_AMD64.whl
Unpacking d:\install\python modules\mysqlclient-1.3.6-cp34-none-win_AMD64.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient
Cleaning up...

chose bizarre est quand j'essaie d'importer le module mysqlclient j'obtiens le ci-dessous

D:\install\python modules>python
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysqlclient
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'mysqlclient'

J'ai vérifié la page d'accueil https://github.com/PyMySQL/mysqlclient-python et je n'ai trouvé aucun exemple sur la façon d'utiliser ce module. Je suis assez confus, ai-je juste raté le bateau ici?

17
Justin S

Le projet PyMySQL comprend un guide de l'utilisateur . Ce n'est pas si facile de trouver ce guide (il n'y a pas de liens évidents) et pour ajouter à la confusion, le nom du module ne correspond pas au nom du package. Pour l'utiliser, vous avez besoin de:

import MySQLdb

Le module MySQLdb implémente PEP 249 - la spécification API de base de données Python pour accéder aux bases de données. Lorsque vous utilisez cette API, le code Python doit être plus portable sur différents systèmes de gestion de bases de données relationnelles.

Il n'est pas recommandé d'utiliser le module _mysql (Qui est également inclus dans ce package). Ce n'est pas portable et cela fonctionne à un niveau d'abstraction inférieur (implémentation de l'API MySQL C).

Voici deux tutoriels qui pourraient vous être utiles. Je les ai utilisés avec le package MySQLdb d'origine dans Python 2 mais l'API est la même (telle que définie par PEP-249). Ils contiennent tous deux des exemples pratiques d'accès à la base de données (lecture et écriture de données) et je les ai trouvés meilleurs pour démarrer avec l'API que la documentation officielle.

33