web-dev-qa-db-fra.com

AttributeError: l'objet 'module' (scipy) n'a pas d'attribut 'misc'

J'ai mis à jour d'ubuntu 12.04 vers ubuntu 12.10 et le module python que j'ai écrit soudainement ne fonctionne plus avec le message d'erreur que le module scipy n'a pas l'attribut 'misc'. Cela fonctionnait auparavant. J'ai j'utilise toujours python 2.7 après la mise à jour. Voici où le code plante

import scipy
scipy.misc.imsave(slice,dat)

Des idées?

41
moadeep
>>> import scipy
>>> scipy.misc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'misc'
>>> 
>>> 
>>> import scipy.misc
>>> scipy.misc.imsave
<function imsave at 0x19cfa28>
>>>

Ce qui semble assez courant avec scipy.

66
ev-br

Parce que vous ne pouvez pas utiliser directement le module misc de scipy sans l'importer explicitement. Voici la façon de charger scipy.misc:

import scipy.misc

#Load the Lena image into an array, (yes scipy does have a lena function)
lena = scipy.misc.lena()
...
6
Jim Raynor

imread est déconseillé après la version 1.2.0! Donc, pour résoudre le problème, j'ai dû installer la version 1.1.0.

 pip install scipy==1.1.0
2
mahbubcseju
  1. Vous devez importer explicitement scipy.misc En tant que:

    import scipy.misc

  2. Vous devez installer le package pillow (anciennement connu sous le nom de PIL), s'il n'est pas déjà installé. Pour que les fonctions de manipulation d'image de scipy.misc Telles que imread() ou imsave() fonctionnent correctement, l'oreiller doit être installé. Pour vérifier, réexécutez votre code ou tapez la commande ci-dessous:

    scipy.misc.imread

1
Jim C