2017-04-25 1 views
-1

scipy 모듈의 imreadimsave 유틸리티를 사용하고 있습니다. 나는 다음과 같은 오류가 발생합니다 : scipy의 오류 : 'imsave`라는 모듈이 없습니다

No module named imsave .

나는 약간의 인터넷 검색을했고, PIL/베개가 설치되지로 인한 오류라고 생각. 내가 수행

Requirement already satisfied: Pillow in /usr/local/lib/python2.7/dist-packages .

나는 imread 및 imsave 기능을 사용 scipy의 기타 기능을 수입하고 있습니다 :

sudo pip install Pillow. 

는 다음과 같은 메시지가 뜹니다.

import scipy.misc 
    import numpy as np 
    I = np.load('image.npy') 
    scipy.misc.imsave('test_image.jpg',I) #The error pops up here 
    J = scipy.misc.imread('test_image.jpg') 

이후에 scipy를 다시 설치했습니다. 나는 여전히 오류라는 No 모듈을 얻는다.

편집 1 : 내용을 분명히하기 위해이 link을 따라 PIL을 제거했습니다. 나는 scipy를 제거했다. 그러나, 내가 sudo apt install python-scipy python-pil를 달릴 때, pil이 이미 최신이라고 말합니다. 그러나 경로는 /usr/local/lib/python2.7/dist-package이 아닙니다.

편집 2 : Mark Mikofski의 질문에 대답하려면 : 터미널에서 파이썬을 사용하고 있습니다. 터미널에서 파일을 실행합니다.

/home/raghuram/lib/python2.7 
    /home/raghuram/lib/python2.7/plat-x86_64-linux-gnu 
    /home/raghuram/lib/python2.7/lib-tk 
    /home/raghuram/lib/python2.7/lib-old 
    /home/raghuram/lib/python2.7/lib-dynload 
    /usr/lib/python2.7 
    /usr/lib/python2.7/plat-x86_64-linux-gnu 
    /usr/lib/python2.7/lib-tk 
    /home/raghuram/local/lib/python2.7/site-packages 
    /home/raghuram/lib/python2.7/site-packages 

Scipy의 버전 0.19.0

+0

'scipy'의 버전은 무엇입니까? 현재 문서는'imread'와'imsave' 메쏘드가'scipy.misc' 안에 있다는 것을 알려줍니다. 그래서 올바른 메쏘드 호출은 [scipy.misc.imsave()] (https://docs.scipy.org/doc/) 일 수 있습니다. scipy-0.16.0/reference/generated/scipy.misc.imsave.html) – davedwards

+0

'scipy'를 어떻게 가져 왔습니까? 'imread()'와'imsave()'를 어떻게 호출할까요? 유용한 코드를 사용하면 도움이 될 것입니다. – davedwards

+0

예, scipy.misc를 사용하고 있습니다.가져온 후에 imsave하십시오. – Raghuram

답변

1

입니다 :

`which python` 

나에게

`/home/raghuram/bin/python`. 

SYS를 가져 오기 및 당신에게 일을이 다음과 같은 출력의 목록을 제공하는 다음과 같은 출력을 제공합니다 안녕 @Raghuram,

StackOverflow에 오신 것을 환영합니다! 질문 해 주셔서 감사 드리며 답변을 찾길 바랍니다. 여기에 몇 가지 링크가 asking questions from the StackOverflow help center에 있습니다

답변에서 제안 된 해결

당신이 /usr/lib/python2.7에서 시스템 파이썬을 사용하지 않는 것이 당신의 패키지가 --prefix installation scheme/home/raghuram/home/raghuram/local/로를 사용하여 설치 한 것으로 보인다.

불행히도 핍이 --install-option이되면 바퀴가 사용되지 않으므로 BLAS를 먼저 설치해야합니다.

$ sudo apt install gfortran libblas-dev liblapack-dev libatlas-dev 

그런 다음 설치하는 --prefix 옵션을 전달하는 --install-option with pip를 사용하려고합니다.

$ pip install --install-option="--prefix=/home/raghuram/" numpy scipy pillow 

또 다른 쉬운 옵션은 파이썬 인터프리터가 site-packages를 어떻게 생각하는지 확인하는 것입니다. 이렇게하려면 import site and call site.getsitepackages(). /home/raghuram이 해당 목록에 있으면 -m 옵션을 사용하여 Python에서 pip를 모듈로 호출 할 수 있습니다.

$ python -m pip install numpy scipy pillow 

마지막으로, 모든 사람이 실패하면, 당신은 다시의 distutils에 떨어질 수 있지만, 당신은 scipy/NumPy와 BLAS 종속성을 혼합 할 수 없기 때문에이 까다 롭습니다. 그들은 ATLAS, OpenBLAS, MKL 등일 수 있습니다. 사용중인 것을 확인하려면 먼저 import scipy numpy을 입력 한 다음 numpy.show_configs()scipy.show_configs()으로 전화하십시오. setup.cfg을 편집하여 BLAS가있는 numpy/scipy를 지정해야하기 때문에 여기에서 더 까다로워 지므로이 둘을 모두 제거하고 처음부터 시작할 수 있다고 가정 해 봅시다. 먼저 배포판의 저장소에서 종속성을 설치하십시오. 나는 기본적으로 ATLAS로 항상 빌드 할 것이라고 생각합니다.

$ sudo apt install gfortran libblas-dev liblapack-dev libatlas-dev 

그런 다음 PyPI에서 numpy 및 scipy zip 파일을 다운로드하고 압축을 풉니 다. 당신은 항상 Ubuntu packages online 또는 apt search를 사용하여 검색 할 수 있습니다

>>> import numpy as np 
>>> from scipy.misc import imsave 
>>> help(imsave) # view docstring 
>>> # then hit q key to return to interpreter 
>>> x = np.zeros((255, 255)) 
>>> x = np.zeros((255, 255), dtype=np.uint8) 
>>> x[:] = np.arange(255) 
>>> imsave('gradient.png', x)  
>>> rgb = np.zeros((255, 255, 3), dtype=np.uint8) 
>>> rgb[..., 0] = np.arange(255) 
>>> rgb[..., 1] = 55 
>>> rgb[..., 2] = 1 - np.arange(255) 
>>> imsave('rgb_gradient.png', rgb) 

NB 그들의 도움 문서화 문자열 예처럼 scipy.misc.imsave를 사용하려고

$ python setup.py install --prefix=~ 

를 이제 각 위해 당신은 추출 된 폴더를 입력하고 실행해야합니다.

추신 : 아마도 당신은 sudo pip을 사용하여 시스템 파이썬에 설치 한 패키지를 제거해야하며 IMO는 다시하지 않을 것입니다. /usr/local/lib/python2.7/dist-packages을 체크인하십시오.

당신이 대신, sudo를 사용하여 리눅스에서 파이썬 패키지를 설치하지 중 하나 apt 또는 yum를 사용하여 배포판의 소프트웨어 저장소에서 설치 결코해야 이럴 PPS는 핍 --user 옵션을 사용하여 설치하거나 virtualenv와 파이썬 가상 환경을 만들 수 있습니다. my AskUbuntu answer을 참조하십시오.

+0

나는 물건을 명확하게하기 위해 질문을 편집했다. – Raghuram

+0

@Raghuram 여러분의'PYTHONPATH'가'/ home/raghuram'을 가리 키므로'--prefix =/home/raghuram' 옵션을 사용해야합니다. 죄송합니다.'--home' 옵션은'/lib/python/site-package'에 사이트 패키지를 넣기 때문에 작동하지 않습니다.'_not_'python2.7/site-packages'는 "2.7"이 빠져 있습니다. 또한'--user' 옵션은'~/.local'에 추가 "." "local"앞에 (점). '--root' 옵션은 설치 장소가 확실하지 않은 이상한 옵션입니다. –

+0

내가 고려하지 않은 한 가지 옵션은 pip를 파이썬 모듈로 호출하여 파이썬에게 파이썬에게 '파이썬 -m pip install numpy scipy pillow'를 사용하여 어디로 가야 하는지를 알려주는 것이다. 파이썬 내부에서'site'를 가져 와서'print site.getsitepackages()'를 타이핑하고 그것이 무엇을 말하는지보십시오. '/ home/raghuram/lib/python2.7/site-packages'가 포함되어 있다면'python -m pip install '이 항상 작동한다는 것을 알 것입니다. –

관련 문제