Pourquoi est-Python (avec sergé) veux pas me connecter à une boîte de messagerie Yahoo ici?

StackOverflow https://stackoverflow.com/questions/3615355

Question

Quelqu'un peut-il, s'il vous plaît, expliquez-moi ce qui se passe ici. Il semble que Python refuse de travailler (avec sergé) quand je suis en train de se connecter à ma boîte aux lettres sur Yahoo:

Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

    ****************************************************************
    Personal firewall software may warn about the connection IDLE
    makes to its subprocess using this computer's internal loopback
    interface.  This connection is not visible on any external
    interface and no data is sent to or received from the Internet.
    ****************************************************************

IDLE 1.2.4      
>>> import twill
>>> twill.shell.main()

 -= Welcome to twill! =-

current page:  *empty page* 
>> go http://us.yahoo.com
==> at http://us.yahoo.com
current page: http://us.yahoo.com
>> follow Mail
==> at https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> showforms

Form name=login_form (#1)
## ## __Name__________________ __Type___ __ID________ __Value__________________
1     .tries                   hidden    (None)       1 
2     .src                     hidden    (None)       ym 
3     .md5                     hidden    (None)        
4     .hash                    hidden    (None)        
5     .js                      hidden    (None)        
6     .last                    hidden    (None)        
7     promo                    hidden    (None)        
8     .intl                    hidden    (None)       us 
9     .bypass                  hidden    (None)        
10    .partner                 hidden    (None)        
11    .u                       hidden    (None)       68gre5567rq16 
12    .v                       hidden    (None)       0 
13    .challenge               hidden    (None)       9wKUoOWDdP5Fho0kPfqPKEhPZBdK 
14    .yplus                   hidden    (None)        
15    .emailCode               hidden    (None)        
16    pkg                      hidden    (None)        
17    stepid                   hidden    (None)        
18    .ev                      hidden    (None)        
19    hasMsgr                  hidden    (None)       0 
20    .chkP                    hidden    (None)       Y 
21    .done                    hidden    (None)       http://mail.yahoo.com 
22    .pd                      hidden    (None)       ym_ver=0&c=&ivt=&sg= 
23    pad                      hidden    pad          6 
24    aad                      hidden    aad          6 
25    login                    text      username      
26    passwd                   password  passwd        
27    .persistent              checkbox  persistent   [] of ['y'] 
28 1  .save                    submi ... .save         

current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 login *****************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 passwd ***************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> submit
Note: submit is using submit button: name=".save", value=""

Following HTTP-EQUIV=REFRESH to http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
current page: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
>> info

Page information:
    URL: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
    HTTP code: 200
    Content type: text/html; charset=utf-8 (HTML)
    Page title: Yahoo! Mail

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    twill.shell.main()
  File "C:\Python25\Lib\site-packages\twill\shell.py", line 383, in main
    shell.cmdloop(welcome_msg)
  File "C:\Python25\lib\cmd.py", line 142, in cmdloop
    stop = self.onecmd(line)
  File "C:\Python25\lib\cmd.py", line 219, in onecmd
    return func(arg)
  File "C:\Python25\Lib\site-packages\twill\shell.py", line 42, in do_cmd
    print '\nERROR: %s\n' % (str(e),)
  File "C:\Python25\lib\HTMLParser.py", line 59, in __str__
    result = self.msg
AttributeError: 'ParseError' object has no attribute 'msg'
>>> 

Mise à jour 1 :

(cette mise à jour est ma réponse à Robus)

Bonjour, Robus !!!

Tout d'abord, je suppose que ce fut une faute de frappe quand vous avez écrit:


  

Voici ce que je faisais: est allé à   C: \ Python26 \ Lib \ site-packages \ twill-0,9-py2.6.egg \ twill \ other_packages \


Je pense que vous vouliez dire ce chemin: " C: \ Python26 \ Lib \ site-packages \ twill \ other_packages ". Sinon, je ne vois pas un tel dossier / répertoire il nommé « twill-0,9-py2.6.egg » - il n'y a qu'un fichier avec ce nom (celui que je pense a été téléchargé au cours . l'installation de mécaniser) S'il vous plaît me dire si mon hypothèse est fausse. - Je peux bien être ne vois pas ici quelque chose de très évident que je suis juste un débutant

Alors, suivant vos instructions, je l'ai fait:

  1. J'ai trouvé " C: \ Python25 \ Lib site-packages \ twill \ other_packages_mechanize_dist " sur mon ordinateur (comme vous pouvez le voir, je n'ai pas Python26, mais plutôt python 25 installé - qui pourrait aussi être un problème)

  2. a changé son nom à " _mechanize_dist_backup " (le chemin complet étant maintenant " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist_backup ")

  3. Copié mon téléchargé et décompressé " mécaniser-0.2.2 " dans " C: \ Python25 \ Lib site-packages \ twill \ other_packages " ( le chemin complet étant " C: \ Python25 \ Lib site-packages \ twill \ other_packages \ mécaniser-0.2.2 ")

  4. a changé son nom à " _mechanize_dist " (le chemin complet étant " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist ")

  5. Copié " ClientForm " fichier de " _mechanize_dist_backup " et collé dans " _mechanize_dist " (en fait, je l'ai trouvé deux les fichiers nommés il y a " ClientForm ":. un fichier est un python, un autre est un fichier python compilé - Je copié et collé les deux)

Après avoir fait cela, j'ai essayé de courir toutes les commandes et se sont retrouvés coincés au tout début - je ne pouvais pas twill importer même maintenant:


IDLE 1.2.4      
>>> import twill

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import twill
  File "C:\Python25\Lib\site-packages\twill\__init__.py", line 52, in <module>
    from shell import TwillCommandLoop
  File "C:\Python25\Lib\site-packages\twill\shell.py", line 9, in <module>
    from twill import commands, parse, __version__
  File "C:\Python25\Lib\site-packages\twill\commands.py", line 7, in <module>
    import _mechanize_dist as mechanize
ImportError: No module named _mechanize_dist

Il semble que le système ne reconnaît pas le nouveau créé « _mechanize_dist ».

Serait-ce parce que j'ai Python 25 au lieu de Python 26? Ou, peut-être, il y a une autre raison?

Était-ce utile?

La solution

Les mensonges de problème dans Mechanize. Vous avez besoin de la dernière version

su
git clone git://github.com/jjlee/mechanize.git
cd mechanize
python setup.py install
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top