2 votes

Comment puis-je exiger Tkinter avec distutils ?

J'essaie de compiler un programme en utilisant distutils mais je veux m'assurer que l'utilisateur a Tkinter installé avant d'installer mon paquet.

Mes recherches sur Google n'ont pas permis de trouver d'informations utiles. Avez-vous une idée de la façon de procéder ?

Merci, Wayne

2voto

user225312 Points 22699

Vous pouvez avoir une classe qui hérite de install et ensuite faire ça :

from distutils.command.install import install

class Install(install):
    def run(self):
        if not check_dependencies():
             # Tkinter was not installed, handle this here
        install.run(self) # proceed with the installation

def check_dependencies():
    try:
        return __import__('Tkinter')
    except ImportError:
        return None

1voto

Ned Deily Points 40248

Malheureusement, il n'y a pas de moyen standard multiplateforme pour forcer Tkinter à installer. Tkinter fait partie de la bibliothèque standard de Python, ce qui fait que les distributeurs qui suppriment les Tkinter ou d'autres modules de bibliothèque standard, et les empaqueter en tant qu'entités optionnelles le font en utilisant leurs propres outils de gestion de paquets et, en général, vous devrez connaître les commandes spécifiques de chaque distribution. Le mieux que vous puissiez faire en général est de tester et d'échouer gracieusement si Tkinter (ou tkinter en Python 3 ) n'est pas importable, donc quelque chose comme :

import sys
try:
    import Tkinter
except ImportError:
    sys.exit("Tkinter not found")

0voto

Alex Points 2182

Tkinter est dans le bibliothèque standard python il devrait toujours être là.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X