IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

Installation de gadfly \ Windows (échec avec distutils.core !)


Sujet :

Déploiement/Installation Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 69
    Points
    69
    Par défaut Installation de gadfly \ Windows (échec avec distutils.core !)
    Bonjour

    Etant débutant en langage Python, j'ai essayé d'installer le module gadfly sous Windows XP ; pour cela, m'inspirant des indications de G. Swinnen (page 306 de son tutoriel pdf), j'ai récupéré en http://sourceforge.net/projects/gadfly le fichier-archive comprimé "gadflyZip.zip" que Winrar a décompressé en créant à ma demande un répertoire "...gadflyZip\gadflyZip" qui contient notamment (comme attendu) un fichier setup.py.
    J'ai alors ouvert une fenêtre DOS (invite de commandes), me suis placé (par une série de commandes dir) dans le répertoire "...gadflyZip\gadflyZip" et j'ai lancé la commande indiquée par Swinnen :
    python setup.py install
    Le système a réagi en écrivant, dans la fenêtre DOS, les 4 lignes suivantes :
    Traceback (most recent call last):
    File "setup.py", line 4, in ?
    from distutils.core import setup
    ImportError: No module named distutils.core


    ce qui me donne à penser que l'installation a échoué.

    Pour éclaircir la situation, voici les 6 premières lignes du fichier "...gadflyZip\gadflyZip\setup.py" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #!/usr/local/bin/python
     
    import os, string, sys
    from distutils.core import setup
    from distutils.command.build_scripts import build_scripts
    from glob import glob
    A toutes fins utiles, je précise que j'ai installé Python version 2.6.4 dans le répertoire "C:\Python26" et je liste ici le contenu complet (avec sa hiérarchie, généré par un petit programme VB personnel) du sous-répertoire "C:\Python26\Lib\distutils" (j'ai teint ici en rouge gras les 2 seuls sous-répertoires de celui-ci et en marron le fichier C:\Python26\Lib\distutils\core.py) :

    command :
    __init__.py
    __init__.pyc
    bdist.py
    bdist_dumb.py
    bdist_msi.py
    bdist_rpm.py
    bdist_wininst.py
    build.py
    build_clib.py
    build_ext.py
    build_py.py
    build_scripts.py
    build_scripts.pyc
    clean.py
    config.py
    install.py
    install_data.py
    install_egg_info.py
    install_headers.py
    install_lib.py
    install_scripts.py
    register.py
    sdist.py
    upload.py
    wininst-6.0.exe
    wininst-7.1.exe
    wininst-8.0.exe
    wininst-8_d.exe
    wininst-9.0.exe
    wininst-9.0-amd64.exe
    tests :
    __init__.py
    setuptools_build_ext.py
    setuptools_extension.py
    support.py
    test_bdist_wininst.py
    test_build_ext.py
    test_build_py.py
    test_build_scripts.py
    test_config.py
    test_core.py
    test_dist.py
    test_filelist.py
    test_install.py
    test_install_scripts.py
    test_msvc9compiler.py
    test_register.py
    test_sdist.py
    test_sysconfig.py
    test_upload.py
    test_versionpredicate.py
    __init__.py
    __init__.pyc
    .\ : (sous-répertoire lui-même)
    archive_util.py
    archive_util.pyc
    bcppcompiler.py
    ccompiler.py
    cmd.py
    cmd.pyc
    config.py
    config.pyc
    core.py
    core.pyc
    cygwinccompiler.py
    debug.py
    debug.pyc
    dep_util.py
    dep_util.pyc
    dir_util.py
    dir_util.pyc
    dist.py
    dist.pyc
    emxccompiler.py
    errors.py
    errors.pyc
    extension.py
    extension.pyc
    fancy_getopt.py
    fancy_getopt.pyc
    file_util.py
    file_util.pyc
    filelist.py
    log.py
    log.pyc
    msvc9compiler.py
    msvccompiler.py
    mwerkscompiler.py
    spawn.py
    spawn.pyc
    sysconfig.py
    sysconfig.pyc
    text_file.py
    unixccompiler.py
    util.py
    util.pyc
    version.py
    versionpredicate.py


    Quant au contenu du fichier core.py, je liste ici ses lignes 1 à 9 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    """distutils.core
    
    The only module that needs to be imported to use the Distutils; provides
    the 'setup' function (which is to be called from the setup script).  Also
    indirectly provides the Distribution and Command classes, although they are
    really defined in distutils.dist and distutils.cmd.
    """
    
    # This module should be kept compatible with Python 2.1.
    ... puis ses lignes 62 à 93 (début de la définition de la procédure setup) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    def setup (**attrs):
        """The gateway to the Distutils: do everything your setup script needs
        to do, in a highly flexible and user-driven way.  Briefly: create a
        Distribution instance; find and parse config files; parse the command
        line; run each Distutils command found there, customized by the options
        supplied to 'setup()' (as keyword arguments), in config files, and on
        the command line.
    
        The Distribution instance might be an instance of a class supplied via
        the 'distclass' keyword argument to 'setup'; if no such class is
        supplied, then the Distribution class (in dist.py) is instantiated.
        All other arguments to 'setup' (except for 'cmdclass') are used to set
        attributes of the Distribution instance.
    
        The 'cmdclass' argument, if supplied, is a dictionary mapping command
        names to command classes.  Each command encountered on the command line
        will be turned into a command class, which is in turn instantiated; any
        class found in 'cmdclass' is used in place of the default, which is
        (for command 'foo_bar') class 'foo_bar' in module
        'distutils.command.foo_bar'.  The command class must provide a
        'user_options' attribute which is a list of option specifiers for
        'distutils.fancy_getopt'.  Any command-line options between the current
        and the next command are used to set attributes of the current command
        object.
    
        When the entire command-line has been successfully parsed, calls the
        'run()' method on each command object in turn.  This method will be
        driven entirely by the Distribution object (which each command object
        has a reference to, thanks to its constructor), and the
        command-specific options that became attributes of each command
        object.
        """
    Je ne comprends donc pas pourquoi le système a produit le message d'erreur :
    ImportError: No module named distutils.core

    Pouvez-vous m'aider à débloquer la situation ?
    D'avance, un grand merci !

    Papy_77

  2. #2
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    bonjour
    moi je ne saurais pas vraiment te répondre en détail mais j'ai essayé de me placer dans le répertoire contenant le setup.py avec une commande cd (via une fenêtre cmd biensûr) puis j'ai tapé setup.up install (sans python devant) et ça a marché sauf que ça me génère des erreurs à l'exécution et je ne sais vraiment pas pourquoi :
    voici le type d'erreur :

    Warning (from warnings module):
    File "C:\Python26\lib\site-packages\gadfly\store.py", line 11
    import sys, os, md5, types, marshal
    DeprecationWarning: the md5 module is deprecated; use hashlib instead

    apperemment le module md5 ne lui plait pas trop et il me demande de le remplacer par hashlib ....enfin je ne sais pas trop, qqn de ce forum aurait une idée ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 69
    Points
    69
    Par défaut réaction à la réponse de medirock
    Merci de ta tentative de dépannage.

    J'ai tenté de reproduire ton essai :
    J'ai donc ouvert une fenêtre à fond noir "Invite de commandes" et, avec une commande cd, je me suis placé dans le répertoire contenant le setup.py censé démarrer l'installation de Gadfly.
    Dans cette fenêtre, j'ai tapé setup.py (sans taper python par devant) et j'ai obtenu la réponse suivante :
    Traceback (most recent call last):
    File "E:\Technique\Développement\gadflyZip\setup.py", line 4, in ?
    from distutils.core import setup
    ImportError: No module named distutils.core
    Donc, rien de changé par rapport à mon premier essai !

    Utilises-tu les mêmes versions de python et de gadfly que moi ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Papy77, je ne sais pas pourquoi tu as cette erreur mais à ta place je réinstallerais Python (par dessus l'installation existante, s'il le permet, pas la peine de désinstaller).

    medirock, le message que tu as posté n'est pas une erreur, juste un avertissement que la librairie md5 est dépréciée et vas donc disparaitre à l'avenir, mais ce n'est pas ça n'empêchera pas le module de fonctionner maintenant.

    Mais gadfly est un vieux projet, la dernière release date d'il y a plus de 5 ans, ça ne serait pas étonnant qu'il ne fonctionne pas sous Python 2.6. Je conseillerais d'utilise sqlite3, qui est une librairie standard de Python, à la place.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 5
    Points
    5

Discussions similaires

  1. Copier les locales avec distutils.core setup et glob
    Par Spitfire 95 dans le forum Déploiement/Installation
    Réponses: 0
    Dernier message: 07/09/2011, 10h14
  2. Réponses: 1
    Dernier message: 28/08/2007, 11h20
  3. Réponses: 1
    Dernier message: 07/06/2007, 13h30
  4. Réponses: 5
    Dernier message: 22/05/2007, 15h27
  5. Installation de Gadfly sous Windows
    Par Neuromancien2 dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 24/06/2006, 22h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo