2012-02-23 4 views
1

관리자 권한이없는 서버를 사용하고 있으며 최신 버전의 numpy를 사용해야합니다. 시스템 관리자는 글로벌 numpy를 최신 버전으로 업데이트 할 수 없으므로 로컬로 설치해야한다고 주장합니다.로컬 numpy 무시 글로벌 있음

필자는 문제없이 할 수 있지만, 이전 버전의 글로벌 버전과 달리 최신 로컬 설치를 "가져 오기 numpy"로 가져 오게하려면 어떻게해야합니까? 내 PYTHONPATH를 조정할 수 있지만 모든 글로벌 패키지를 제외 할 수 없으므로 일부 전역 가져 오기도 사용하려고합니다.

나는 CentOS 6에 있습니다.

감사합니다.

답변

1

파이썬은 경로 순서로 검색하므로 경로에 NumPy를 설치 한 디렉토리를 먼저 넣으십시오.

numpy.version.version을 확인하면 원하는 버전이 제공되는지 확인할 수 있습니다.

2

정확한 해결책은 virtualenv을 설치하여 사용하는 것입니다. 이는 바로 이러한 이유 때문입니다.

+0

감사합니다. 좋은 해결책입니다! 나는이 정교한 것을 필요로하지 않는다. 그리고 kindall의 대답은 훨씬 쉽다. – Doa

1

virtualenv를 사용하는 대신 PYTHONPATH을 사용하거나 sys.path을 수정할 수 있습니다.

PYTHONPATH~/.bash_profile (또는 사용하는 쉘의 적절한 시작 파일)에 입력 할 수 있습니다. 또는, 시스템의 python 전에 PATHpython 래퍼 스크립트, 예컨대 :

$ cat ~/bin/python # assuming ~/bin is in PATH before /usr/bin 
#!/bin/bash 
PYTHONPATH=<path-to-your-libs> /usr/bin/python 

또는, 하나는 그것을 요청하는 경우에만 사용자 지정 라이브러리를 사용하는 명시 적 및 명령 파이썬을 할 수하실 수 있습니다. 이 경우 sys.path 변수처럼 직접 변형 될 수있다 :

import sys, os 
sys.path.insert(0, os.path.expanduser("~/my_python_libs")) 
import numpy # searches for numpy first in "~/my_python_libs" 

그 모듈을 재사용 가능한 모듈에 파이썬 모듈 검색 경로를 수정하는 코드, 상기 조각을 넣고 가져 유용 될 수있다되도록 경로를 변경할 때 이 모듈 만 수정하면됩니다.

자세한 내용은 6.1.2. The Module Search Path을 참조하십시오.

필자는 개인적으로 필자가 사용하는 모든 타사 라이브러리와 함께 최신 Python을 소스에서 컴파일합니다. 이렇게하면 최신 배포판으로 쉽게 전환 할 수 있으며 Linux 배포판 (Linux 배포판, 특히 엔터프라이즈 배포판은 파이썬 라이브러리 업데이트를 따라갈 수 없음)에 의존하지 않습니다. 구축하고 NumPy와

$ python setup.py install --user 

또는

$ pip install --user numpy 

이 필요하지 않습니다 관리 권한을 설치하고 변조 할 필요가 없을 때

0

이 작업을 수행하는 가장 간단한 방법은 --user 옵션을 사용하는 것입니다 귀하의 sys.path

virtualenv도 유용하지만 필요하지 않은 경우 dif를 사용하고 싶습니다. 다른 응용 프로그램에 대한 numpy의 모든 버전.

관련 문제