Não é possível instalar o SciPy

2

Eu preciso usar o módulo skimage, que chama o módulo SciPy (eu preciso encontrar contornos)

import numpy
from sys import argv
from PIL import Image
from skimage import measure

# Inicialization
spritesToFind = argv[1]
spriteSize = argv[2]
sheet = Image.open(argv[3])
sheet.verify()

# To grayscale, so contour finding is awesome
grayscale = sheet.convert('L')

# Let numpy do the heavy lifting for converting pixels to pure black or white
data = np.asarray(grayscale).copy()

# Find the contours we need
contours = measure.find_contours(r_grey, 0.8)

# Now we put it back in PIL land
sprite = Image.fromarray(data)
sprite.save(str(Counter), "PNG")

Comecei uma viagem épica de 5 horas para descobrir como resolver o problema:

Traceback (most recent call last):
 File "algo.py", line 4, in <module>
from skimage import measure
 File "/usr/local/lib/python2.7/dist-packages/scikit_image-0.9.3-py2.7-linux-i686.egg/skimage/measure/__init__.py", line 3, in <module>
from ._regionprops import regionprops, perimeter
 File "/usr/local/lib/python2.7/dist-packages/scikit_image-0.9.3-py2.7-linux-i686.egg/skimage/measure/_regionprops.py", line 5, in <module>
from scipy import ndimage
ImportError: No module named scipy

Então eu achei que tinha que instalar o SciPy. Comecei com pip e easy_install , não consegui fazer a coisa funcionar. Eu baixei os tarballs numpy e scipy e os configurei, mas bibliotecas necessárias, que eu tinha, apenas versões mais novas, mas não as queria, mesmo que eu as tenha apontado. A próxima coisa que eu precisei foi do gfortran, que eu não pude instalar porque nenhuma das bibliotecas funcionaria (existe um link de gfortran no linuxmint.community mas você não pode alcançá-lo porque atpurl diz que o pacote é virtual). Eu tentei de tudo. Você pode me dar alguma ajuda? Tudo o que quero é que o SciPy funcione.

SciPy:

Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
    
por slowlearner 30.11.2013 / 16:12

1 resposta

2

Em vez de tentar instalar este módulo você mesmo, eu recomendo usá-lo apenas no repositório de distribuições. Eu encontrei este módulo disponível, então este comando deve instalá-lo para você.

$ sudo apt-get install python-scipy

Se você estiver fazendo uma boa quantidade de desenvolvimento em Python, eu o encorajaria a configurar sua própria instância dedicada do Python, em vez de depender da fornecida pela distribuição. É verdade que você pode usar essa versão, e provavelmente não tem muitos problemas, mas quando você começa a instalar muitas dependências (bibliotecas / módulos) pode se tornar problemático fazê-lo.

Eu escrevi notas detalhadas sobre como fazer isso para Python neste livro de perguntas e respostas intitulado: Atualizando o Python 2.6. libpython2.6.so.1.0 faltando .

    
por 30.11.2013 / 16:49