Aller au contenu

installer mysqldb pour python2.7 ?

Featured Replies

Posté(e)

Bonjour,

j'aimerais faire tourner un script python 2.7 sur mon Syno

J'ai bien trouvé le package dans synocommunity ,

mais j'ai besoin du module mysqldb pour dialoguer avec MariaDB

 

une idée de comment l'installer ?

 

 

Posté(e)

Ah... faudrait voir si les toolchains sont disponibles pour faire la compilation...

Il est pas intégré dans le python 3 de synology ? (Je l’utilise pas perso)

  • 2 semaines après...
  • 2 ans après...
Posté(e)

Je remets ce sujet à jour, même si ça fait 2 ans.

J'essaye depuis plusieurs jours d'installer mysqlclient pour les mêmes raisons, lancer un traitement toutes les heures sur ma base (en php c'est trop long)...

Mais rien n'y fait. je pense avoir réussi à installer pip mais je n'arrive à installer aucun module avec celui-ci !

Je suis intéressé si quelqu'un a réussi à installer un module client mysql sur son Syno !

Posté(e)

Bonjour,

Je fais appel à @PPJP qui je crois travaille pas mal avec Python, peut-être aura-t-il la réponse à ta question 😉

 

Posté(e)

Bonjour

Si vous avez l'intention de commencer un nouveau développement, je  vous déconseille d'utiliser python 2.7 qui est maintenant déprécié (fin de vie: 01/01/2020).
Partez directement sur du Python3.

Je ne sais comment vous avez installé pip (il ne semble pas fonctionnel) ni s'il concerne Python2 (probable) ou Python3

Ce que vous pourriez faire:

Afin d'éviter d'avoir des conflits avec plusieurs version de pip, désinstallez la version actuelle: pip uninstall pip

Installer le paquet Python3 ( centre de paquets)
La version de Synology ne contient pas pip, donc on l'installe: curl -k https://bootstrap.pypa.io/get-pip.py | python3

Il n'y a pas de connecteur SQL simple à installer (dont mysqldb) pour Python3.
On utilise donc un équivalent comme, par exemple,  PyMySQL ecrit en pur python et qui n'a pas de dépendances
Installé par: python3 -m pip install PyMySQL

Ensuite c'est a vous de jouer.
Par exemple:

import pymysql.cursors
import pymysql

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with connection.cursor() as cursor:
        # Create a new record
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

    # connection is not autocommit by default. So you must commit to save
    # your changes.
    connection.commit()

    with connection.cursor() as cursor:
        # Read a single record
        sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
        cursor.execute(sql, ('webmaster@python.org',))
        result = cursor.fetchone()
        print(result)
finally:
    connection.close()

En espérant vous avoir mis le bon chemin...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.