2017-02-17 3 views
1

관리자 권한이없는 서버에 scikit-image를 설치하려고합니다. Scikit-image는 의존성으로 Cython> = 0.23을 요구하지만, 서버는 Cython 0.21이 전 세계적으로 설치되어 있습니다.로컬로 설치된 종속성을 사용하여 scikit-image를 Pip 설치하십시오.

$ which Cython 
/opt/apps/software/MPI/GCC/4.8.3/OpenMPI/1.8.8/Python/2.7.9/bin/cython 

$ cython --version 
Cython version 0.21.2 

내가 (조언 here 다음) 로컬 내 프로젝트에 대한 .pip 폴더에 사이 썬 0.25.2를 설치할 수 있습니다, 나는 내 PYTHONPATH의 시작 부분에 ./.pip을 추가 한

$ pip install Cython -t .pip 
$ python ./.pip/cython.py --version 
Cython version 0.25.2 

하지만, 내가 scikit 이미지를 설치하려고 할 때 나는에 앉아 사이 썬의 버전을 사용 핍 설치를 어떻게 알 수

$ pip install --user scikit-image 
... 
RuntimeError: Cython >= 0.23 needed to build scikit-image 

를 얻을 수 210?

+0

'pip install --user --upgrade Cython'을 사용하여 Cython을 $ HOME 디렉토리에 설치할 때도 마찬가지입니다. – alexpghayes

+0

pip install --user cython을 사용해 보셨나요? –

+0

필자는 PATH에'~/.local/bin'을 추가해야한다는 것을 깨달았습니다. 이제'cython --version'을 실행하고'Cython 0.25.2'를 얻을 수 있지만, scikit-image의 사용자 설치는 여전히 만족스럽지 않고 동일한 버전 오류를 제공합니다. – alexpghayes

답변

1

클러스터 모듈 관리 시스템이 Python의 sys.path에 이전 버전의 Cython을 추가하여 내 PYTHONPATH에 추가 할 수있는 것보다 우선 순위가 높습니다. 내가 사용한 Python 모듈을 언로드했을 때 클러스터의 기본 버전은 pip이없는 2.7.5 였으므로 모듈을 언로드 한 동안 사용자로 scikit-image을 설치할 수 없었습니다 (추가적으로 모듈없이 많은 의존성이 사라졌다.)

해결 방법은 virtualenv를 사용하고, 환경을 만들고, 그 환경에 내 패키지를 설치하는 것입니다. 코드를 실행하려면 /path/to/virtualenv/python my_file을 사용하십시오.

위쪽에서 이제 클러스터 모듈 시스템과 파이썬 경로에 대해 더 많이 알게되었습니다. 이 답변을 넘은 손가락은 다른 사람에게 유용합니다. 파이썬이 의존성을 찾는 부분에 대한 흥미로운 토론은 here입니다.