web-dev-qa-db-fra.com

Besoin de tkinter sur mon installation de python 3.6 (Windows 10)

J'exécute Python 3.6 sur un ordinateur Windows 10. Je veux afficher un complot matplotlib simple comme ceci:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)

Malheureusement, j'obtiens l'erreur:

ModuleNotFoundError: No module named 'tkinter'

J'essaie d'installer tkinter via mon terminal:

> pip install tkinter
Collecting tkinter
  Could not find a version that satisfies the requirement tkinter (from versions: )
  No matching distribution found for tkinter

J'ai aussi essayé pip install python3-tk mais sans succès. J'ai trouvé quelques articles sur StackOverflow expliquant comment installer correctement tkinter, mais ils concernent tous les systèmes Python 2 et/ou Linux. Je ne pouvais pas trouver de message en particulier pour Python 3.6 sur Windows 10.

3
K.Mulier

Je le fais travailler maintenant. J'ai retiré mon installation Python 3.6.1 et installé Python 3.6.3 à partir d'ici:

https://www.python.org/downloads/release/python-363/

J'ai choisi le Programme d'installation exécutable Windows x86-64 pour mon ordinateur Windows 10. Lors de l’installation, j’ai choisi «installation personnalisée» pour pouvoir vérifier les modules que je souhaite ou ne souhaite pas. Apparemment, tkinter est présent par défaut. Peut-être l'avais-je décoché lors de ma dernière installation (il y a quelques mois)?

Quoi qu'il en soit, j'ai des choses qui fonctionnent maintenant. Mais il me semble toujours un peu étrange que je devais effectuer une réinstallation complète pour que cela fonctionne. Un simple pip install tkinter devrait également faire l'affaire (à mon avis).

0
K.Mulier

Pas sûr de Windows, mais dans Ubuntu, vous pourriez faire Sudo apt-get install python3-tk

Pour Windows, vous pouvez essayer import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt

si vous ne voulez pas utiliser tkinter du tout. (Testé dans Ubuntu)

N'oubliez pas également d'utiliser %matplotlib inline en haut de votre ordinateur portable si vous en utilisez un.

1
markroxor