Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Les tests foirent en executant le projet fatoptimizer (de Victor Sinner)

0 votes

Voici le retour d'erreur (sur un pastebin) :

http://pastebin.com/AQ8BBhiL

si ça peut servir :

python3.6 --version
Python 3.6.0a0

uname -a
Linux boblinux-pc 4.4.5-1-MANJARO #1 SMP PREEMPT Thu Mar 10 20:58:34 UTC 2016 x86_64 GNU/Linux

En attendant je suis en communication par mail avec Victor Sinner, mais toujours pas fixé le problème.

Comment reproduire le problème? il suffit de :

git clone https://github.com/haypo/fatoptimizer
cd fatoptimizer
python3.6 test_fatoptimizer.py

@ lucas :

Le problème principal vient de là:

Traceback (most recent call last):
  File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/tools.py",

line 343, in callvisitormethod
return visitor(self, node)
File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/inline.py",
line 153, in visit
Call
expansion = self.caninline(node)
File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/inline.py",
line 101, in can
inline
if callsite.starargs:
AttributeError: 'Call' object has no attribute 'starargs'

Quelqu'un a une idée pour fixer ça?

demandé 19-Mar-2016 par boblinux (3,092 points)
edité 20-Mar-2016 par boblinux

Même stack trace en python 3.5.

Le problème principal vient de là:

Traceback (most recent call last):
  File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/tools.py", line 343, in _call_visitor_method
    return visitor(self, node)
  File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/inline.py", line 153, in visit_Call
    expansion = self.can_inline(node)
  File "/home/lucas/Programmation/Python/fatoptimizer/fatoptimizer/inline.py", line 101, in can_inline
    if callsite.starargs:
AttributeError: 'Call' object has no attribute 'starargs'

La stack trace qui suit viens du fait que, alors que l'exception Attribute error est levée, l'attribut starargs de l'objet Call est à nouveau accédé, et comme il n'existe pas, l'exception est levée une seconde fois sous la forme d'une fatoptimizer.tools.OptimizerError

Du moins, c'est ce que je comprend de la stack trace. Je n'ai pas pris le temps d'intégrer le code en entier.

Oui. C'est est bien ce que je pensais, j en avais fais part hier sur freenode, reste à trouver comment fixer ça =/

1 Réponse

+2 votes
 
Meilleure réponse

Chez moi ça marche (TM) : les commits qui fixent datent du 20 mars, mais peut-être qu'ils avaient pas été poussés au moment où vous avez testé.

Pour info, la révision qui marche chez moi c'est :

 commit b85c2c18b5c5230876db291a2da42791b835abe2 
 Author: Victor Stinner <vstinner@redhat.com> 
 Date:   Sun Mar 20 14:45:12 2016 +0100

     use get_keywords()

     Don't access directly the callsite.keywords attributes to support
     python 3.4-3.6.

Je teste avec 3.5.1-2 sous Arch

répondu 24-Mar-2016 par dmerej (168 points)
edité 25-Mar-2016 par barnumbirr

effectivement j'avais cloné le dépot le 19 mars, et je pense que Victor a pris en compte le mail que je lui ai envoyé, du coup il a arrangé ça sans même me prévenir ;p

du coup on a un joli :

python3 test_fatoptimizer.py 
........................................................................................................xx..x....x......................................................................................................
----------------------------------------------------------------------
Ran 216 tests in 0.355s

OK (expected failures=4)
...