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

Python Discussion :

Le module filecmp ne reconnait plus l'attribut cmp [Python 3.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Avril 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par défaut Le module filecmp ne reconnait plus l'attribut cmp
    Bonjour,
    J'espere poster au bon endroit et ne pas faire de doublon, si je me suis trompé je m'en excuse. N'ayant pas trouvé de solution me permet de vous solliciter.

    J'ai un petit script qui compare des fichiers :

    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
    #!/usr/bin/env Python3
    import filecmp
     
    def main():
        f1 = input("premier fichier : ")
        f2 = input("second fichier : ")
        q = "f1 est-il similaire à f2 ?"
        print(q)
        print(filecmp.cmp(f1, f2))
        print("f1 = " + f1)
        print("f2 = " + f2)
     
     
    if __name__ == "__main__":
        main()
    Ca fonctionnait bien jusqu'à ce que je tente d'installer urwid avec l'argument "--break-system-packages", ce qui n'a pas donné le resultat attendu donc je les desinstallé.
    Suite à cette manip le code cité affiche l'erreur : "AttributeError: module 'filecmp' has no attribute 'cmp'"
    En appelant la fonction dir() dans le srcipt, effectivement je ne trouve pas 'cmp' mais en l'appelant dans un shell je retrouvait 'cmp'.
    Apres en cherchant à resoudre ce probleme j'ai cassé linux... donc je le reinstalle, et là l'attribut convoité ne reapparait plus nul part.

    Voila mon casse tete du weekend.

    Es-ce que l'un d'entre vous aurait des pistes pour m'aider à solutionner cette erreur ?
    Merci par avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 681
    Par défaut
    Salut,

    Python s'installe avec Linux. Normalement vous devriez retrouver l'intégralité des modules standards (dont filecmp) "intègres" (filecmp avec son cmp).

    note: Modifier le système demande des privilèges... et de l'attention pour ne pas bousiller l'existant. En cas de doutes, vous avez la possibilité d'utiliser des environnements virtuels (venv par exemple) pour limiter la casse. Dans tous les cas apprendre à utiliser des privilèges a bon escient n'a rien a voir avec la programmation Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Avril 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par défaut
    Oui Python s'installe avec linux, c'est bien pour ça que je ne comprend pas pourquoi j'ai toujours cette erreur.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 681
    Par défaut
    Citation Envoyé par Kaa66 Voir le message
    Oui Python s'installe avec linux, c'est bien pour ça que je ne comprend pas pourquoi j'ai toujours cette erreur.
    Ca dépend de la distro. linux (qui peut installer les bibliothèques via un package additionnel) et de comment vous l'avez installée...
    note: normalement, la dernière fois que vous avez installé votre Linux, vous avez précieusement noté les commandes passées sur un cahier, histoire de savoir refaire pareil le prochain coup.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Avril 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par défaut
    La distribution est raspbian, installé en suivant le protocol recommandé par la raspberry pi foundation qui developpe cette distro (c'est tres "user-friendly").

    Y a du nouveau : le meme script dans un autre fichier fonctionne.

    Ca ne serait donc pas un probleme de package ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 681
    Par défaut
    Citation Envoyé par Kaa66 Voir le message
    Y a du nouveau : le meme script dans un autre fichier fonctionne.
    Techniquement, cela ne veut pas dire grand chose: un script étant un fichier...

    Citation Envoyé par Kaa66 Voir le message
    Ca ne serait donc pas un probleme de package ?
    En général (si on ne suspecte pas une corruption de la bibliothèque standard), l'erreur la plus courante est d'avoir crée un module filecmp.py "import"é à la place du "standard". Mais on ne se déplace pas chez vous pour voir ce que vous faites... donc un minimum d'expertise (de votre côté) est requis même pour demander de l'aide.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Avril 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par défaut
    Ok j'ai compris.

    Merci pour cet echange des plus agreables.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 287
    Par défaut
    bonjour
    Citation Envoyé par Kaa66 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/usr/bin/env Python3
    import filecmp
    ...

    Attention, sous linux Python3 n'existe pas !
    Du coup, impossible d'utiliser directement ton script et il faut absolument ignorer ton shebang en appelant python implicitement

    jusqu'à ce que je tente d'installer urwid avec l'argument "--break-system-packages"
    Si on installe des paquets avec pip, ils vont généralement écraser ceux déjà installés via linux (les paquets linux installés via apt pour toi)
    Comme indiqué dans cette erreur, il ne faut pas le faire.
    - Soit on a 1 ou 2 paquets déjà disponibles via notre linux, et on installe via apt (ou autre gestionnaire de paquets de notre linux)
    - Soit, plus généralement, on installe ces paquets dans notre home (et même dans le répertoire de notre application) : les environnements virtuels python

    -----
    Si tu as créé ton propre package python avec un nom déjà utilisé, alors la seule bonne solution est d'utiliser un environnement virtuel pour ton application.
    $moi= (:nono: !== :oops:) ? :king: : :triste: ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Firefox 2.0 ne reconnaît plus xmlHttpRequest ?
    Par senacle dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/11/2006, 18h09
  2. windows ne reconnait plus mon disque dur externe
    Par lilie62 dans le forum Windows XP
    Réponses: 2
    Dernier message: 25/10/2006, 10h15
  3. Mon PC ne reconnait plus querydef
    Par Bercud dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2006, 14h50
  4. [Wamp] Migration PHP4 -> PHP5 : Ne reconnait plus les fonctions de bases!
    Par Thomus38 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 26/06/2006, 17h09
  5. Windows XP ne reconnait plus l'extension XML
    Par kennie77 dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 03/02/2006, 16h05

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