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

Réseau/Web Python Discussion :

Lib Requests bug


Sujet :

Réseau/Web Python

  1. #1
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut Lib Requests bug
    Bonjour,

    J'ai un script tout simple utilisant le lib requests mais qui plante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #!/usr/bin/python
     
    import requests
     
    page="http://google.fr"
     
    res = requests.get(page)
    la sortie:

    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
     
    ./http_test.py
    Traceback (most recent call last):
      File "./http_test.py", line 3, in <module>
        import requests
      File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 26, in <module>
        from .models import Request, Response
      File "/usr/lib/python2.7/dist-packages/requests/models.py", line 20, in <module>
        from .packages.urllib3.response import HTTPResponse
      File "/usr/lib/python2.7/dist-packages/requests/packages/__init__.py", line 3, in <module>
        from . import urllib3
      File "/usr/lib/python2.7/dist-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
        from .connectionpool import (
      File "/usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 13, in <module>
        from http.client import HTTPConnection, HTTPException
      File "/home/pi/Documents/Sources/Python/http.py", line 9, in <module>
        res = requests.get(page,cookies=cookie)
    AttributeError: 'module' object has no attribute 'get'
    je suis sous debian wheezy, le code me semble correct, si quelqu'un a une idée...

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Salut,


    Ton code semble correct, du moins les exemples de la documentation sont identiques.

    Un problème d'install peut-être, c'est un paquet deb ou bien avec easy_install ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 241
    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 241
    Points : 36 698
    Points
    36 698
    Par défaut
    Salut,

    Ce module est a priori a vous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File "/home/pi/Documents/Sources/Python/http.py", line 9, in <module>
    En tous cas, comme il n'est pas explicitement charge par votre script, il pollue l'espace de nommage.
    Essayez de renommer ce fichier en _http.py pour voir si requests.get "vole" mieux.

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

  4. #4
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    j'ai renommer:

    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
     
    $mv http.py _http.py
    $ ./http_test.py
    Traceback (most recent call last):
      File "./http_test.py", line 3, in <module>
        import requests
      File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 26, in <module>
        from .models import Request, Response
      File "/usr/lib/python2.7/dist-packages/requests/models.py", line 20, in <module>
        from .packages.urllib3.response import HTTPResponse
      File "/usr/lib/python2.7/dist-packages/requests/packages/__init__.py", line 3, in <module>
        from . import urllib3
      File "/usr/lib/python2.7/dist-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
        from .connectionpool import (
      File "/usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 13, in <module>
        from http.client import HTTPConnection, HTTPException
      File "/home/pi/Documents/Sources/Python/http.py", line 9, in <module>
    AttributeError: 'module' object has no attribute 'get'
    Il s'agit d'une installe d'un paquet deb (python-requests) et je suis en python 2.7

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tu as toujours le même nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File "/home/pi/Documents/Sources/Python/http.py", line 9, in <module>
    Es-tu sûr que tu as bien renommé le fichier ci-dessus?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mv http.py _http.py
    Dans quel répertoire as-tu fait ce move?

    quel est le contenu de ton fichier http_test.py?


  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 241
    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 241
    Points : 36 698
    Points
    36 698
    Par défaut
    Si après avoir renommé un fichier, ça le trouve toujours: n'est-il pas logique de penser que vous n'avez pas renommé le bon?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    J'avais bien renommer le bon fichier. Mais il m'avait créer un http.pyc (pourquoi je sais pas ...) mais en le supprimant le http_test.py marche nickel.

    J'ai pas tous compris la... ni pourquoi le http.py me pourrissait le namespace.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 241
    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 241
    Points : 36 698
    Points
    36 698
    Par défaut
    Ah oui, le .pyc, j'oubliais celui la...
    En gros, c'est le .py "compile" en pseudo-code Python.
    Citation Envoyé par Blo0d4x3
    J'ai pas tous compris la... ni pourquoi le http.py me pourrissait le namespace.
    http est le module Python3.
    La ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      File "/usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 13, in <module>
        from http.client import HTTPConnection, HTTPException
    laisse pensez que le module requests installe une version du module 3.3 sur votre 2.
    Après, import fait ce qu'il peut et trouvera votre fichier a vous et non celui attendu...

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

  9. #9
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    ok merci pour les explications

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

Discussions similaires

  1. bug sur msvc 2010 : pragma comment(lib
    Par yann458 dans le forum Visual C++
    Réponses: 2
    Dernier message: 12/12/2012, 02h46
  2. [Prototype] [Ajax.Request] fonction de réponse
    Par jak0 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 02/09/2009, 17h19
  3. Feature request / Bug report
    Par behess dans le forum BOUML
    Réponses: 24
    Dernier message: 03/06/2008, 15h32

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