Pour étendre la réponse ci-dessus acceptée uniquement par lien, considérez les modifications suivantes sur votre pymysql
actuel installer. Avec MySQL 8, l'API mysql-python ne reconnaît pas les jeux de caractères éventuellement plus récents et donc le KeyError
soulevé .
Pour résoudre, localisez le connectors.py script sous pymysql
module trouvé dans ce répertoire :
print(pymysql.__file__)
Sauvegarder le fichier connectors.py d'origine scénario. Incorporez ensuite les modifications suivantes.
Original (lignes 1268-1269)
self.server_language = lang
self.server_charset = charset_by_id(lang).name
Remplacer (lignes 1268 - 1272)
self.server_language = lang
try:
self.server_charset = charset_by_id(lang).name
except KeyError:
self.server_charset = None
Veillez à inclure des onglets masqués dans l'indentation avec les lignes ci-dessus.
Référence