2010-05-01 6 views
12

Unix 컴퓨터 클러스터에 액세스 할 수 있지만 필요한 소프트웨어가 없습니다 (numpy, scipy, matplotlib 등). 설치해야합니다. (루트 권한이 없기 때문에 apt-get 또는 yast과 같은 명령이 작동하지 않습니다.)Enthought Python, Sage 또는 기타 (Unix 클러스터)

최악의 경우, 소스에서 모두 컴파일해야합니다. 진행할 수있는 더 좋은 방법이 있습니까? Enthought PythonSage에 대해 들었지만 무엇이 최선의 방법인지 잘 모릅니다.

제안 사항?

답변

6

학업중인 경우 Enthought 배포본 free of charge을 사용할 수 있습니다. 자체 설치 프로그램과 함께 제공되며 설치를 처리합니다. 이것은 matplotlib 등을 처음부터 설치하는 것보다 확실히 쉬울 것입니다. 배포판이 자체 Python 바이너리를 제공하기 때문에 설치 시스템에서 관리자 액세스 권한이 필요하지 않습니다. 나는 그것을 사용했고 간단하고 편리하다는 것을 알았다.

3

나는 개인적으로 가격을 기준으로 세이지에게 갈 것입니다. 해결해야 할 주요 문제는 여러분이 사용하고있는 파이썬 제품군에 상관없이 파이썬 설치를 사용하여 라이브러리에 액세스하는지 확인하는 것입니다.

3

python(x,y)은 EPD (Enthought Python Distribution)와 비슷한 무료 Python 배포판입니다. 두 가지 모두 기본 표준 라이브러리를 포함하고 있지만 약간의 차이점이 있으므로 어느 것이 더 적합한 지 알아야합니다. EPD의 흥미로운 점 중 하나는 최근에 Intel MKL library을 수정했기 때문에 pythonxy 및 표준 numpy 설치 프로그램보다 성능상의 이점이있을 수 있습니다.

이 배포판이 루트 액세스 권한이없는 유닉스 박스에서 어떻게 작동하는지 모르겠다. 이것은 시험해 볼만한 것일 수도있다.

Sage는 배포판에 초점을 맞추지 않으므로 (Wikipedia page 참조) 실제로 비교할 수 없습니다.

9

EPD (Enthought Python Distribution)는 훌륭하지만 학계의 경우에도 은 32 비트 버전 만 무료로 사용할 수 있습니다. 램을 집중적으로 사용하려는 경우 실제로는 옵션이 아닙니다.

편집 : 이후 변경되었으며 64 비트 버전은 학술/교육용으로 자유롭게 사용할 수 있습니다.

반면에 인텔 MLK 라이브러리는 차이를 만들어 내며 소스에서 빌드하는 데 별 어려움이없는 멋진 (예 : Mayavi의 최신 버전) 빌드가 많습니다. 또한, 다른 사람들이 말했듯이, 당신은 단지 당신의 홈 폴더에 그것을 untar 수 있고 그것을 실행할 수 있습니다. 루트 액세스가 필요 없습니다.

EPD는 2GB 이상의 RAM을 사용할 필요가 없지만 64 비트 빌드를 얻으려면 비용을 지불해야합니다.

Windows에서 사용하는 경우 Python (x, y)은 훌륭하지만 그렇지 않은 경우 Linux 사전 빌드 바이너리를 찾는 것이 좋습니다. 그것들은 더 이상 존재하지 않습니다 ... 우분투 저장소는 영구히 다운 된 것처럼 보이고, 더 이상 미리 컴파일 된 tarball을 얻을 수있는 곳을 모르겠습니다. 가까운 장래에이 모든 것이 바뀔지도 모릅니다. 바라건대 그렇게 할 수 있습니다. 왜냐하면 그것은 여러분에게 좋은 선택이 될 것이기 때문입니다!

정직하게 말하면 numpy, scipy 및 matplotlib가 필요하면 소스에서 빌드하기가 상대적으로 쉽습니다 (특히 scipy없이 빠져 나갈 수 있다면 특히 그렇습니다). 그리고 자신의 파이썬 인터프리터를 빌드 한 다음 소스에서 빌드하지 않으려면 easy_install을 사용하십시오. 이것은 물론, 당신이 사용하고있는 머신에 기본 빌드 환경 (gcc 등)이 이미 설치되어 있다고 가정합니다 ... 어쨌든 내가 당신의 상황에 있었을 때했던 것입니다 ...

경로를 선택했다면 파이썬 소스 코드를 다운로드하고 모든 것을 사용할 수있는 파이썬 인터프리터를 빌드하는 것이 가장 좋습니다. 그런 다음 setuptools를 설치하고 나머지는 easy_install하십시오. (또는, 당신은 NumPy와 소스 코드를 다운로드 등 빌드하고 방금 내장 파이썬 인터프리터 그들을에서 설치할 수 있습니다.)

이 어떻게 기초를 구축하는 방법 (파이썬, NumPy와, scipy,하기 matplotlib 기본 아이디어를 보여줍니다 , ipython) 현재 작업 디렉토리에서 "pythondist"라는 디렉토리 아래에있다.

#! /bin/sh 

builddir=$(pwd)/pythondist 
mkdir -p $builddir/source 
cd $builddir/source 

wget 'http://python.org/ftp/python/2.6.5/Python-2.6.5.tgz' 
wget 'http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e' 
tar -xvzf Python-2.6.5.tgz 

# Build python 
cd $builddir/source/Python-2.6.5/ 

# The --prefix argument is the key! 
./configure --prefix=$builddir 

# Be sure to speed things up with the -j option if you're 
# on a multicore machine (e.g. make -j 4 build for a quadcore) 
make build 
make install 

# Now install setuptools 
cd $builddir/source 
tar -xvzf setuptools-0.6c11.tar.gz 
cd setuptools-0.6c11/ 

# The next key is to call this with the python you just built! 
$builddir/bin/python setup.py build 
$builddir/bin/python setup.py install 

# Now just install numpy, scipy, ipython, matplotlib, etc through easy_install 
$builddir/bin/easy_install numpy 
$builddir/bin/easy_install scipy 
$builddir/bin/easy_install matplotlib 
$builddir/bin/easy_install ipython 

편집 : 스크립트의 작은 오타. 달걀에서 numpy 또는 scipy가 제대로 설치되지 않으면 설치 정보를 참조하십시오.

이 스크립트는 주로 독립적 인 파이썬을 홈 디렉토리에 구축하는 방법을 보여주기위한 것으로, 빌드중인 시스템에 적절한 종속성이 이미 설치되어 있지만 적어도 올바른 방향으로 사용자를 안내한다고 가정합니다.

easy_install을 사용하여 numpy 또는 scipy가 올바르게 빌드되지 않으면 소스 tarball을 다운로드하고 다른 인수를 사용하여 numbar 또는 scipy 빌드를 빌드하십시오. (Numpy/Scipy의 setup.py가 잘못된 fortran 컴파일러를 자동 감지하는 것은 일반적인 문제입니다.) NumPy와와 scipy을 구축 할 때 내가 G77 및 gfortran 모두 설치로

cd $builddir/source 
wget http://sourceforge.net/projects/numpy/files/NumPy/1.4.1/numpy-1.4.1.tar.gz/download 
tar -xvzf numpy-1.4.1.tar.gz 
cd numpy-1.4.1/ 
# If you don't specify an action (e.g. "build") this will enter an interactive 
# mode to help diagnose problems... See the INSTALL.txt file, too! 
$builddir/bin/python setup.py 

예를 들어, 내 오픈 수세 11.2 시스템에, 나는, "--fcompiler = gnu95"를 지정해야합니다. 그렇지 않으면 일이 올바르게 구축되지 않습니다.

그러나 이전 RHEL 3 시스템에서는 easy_install에서 온 상태로 완벽하게 빌드됩니다. 물론 YMMV. 행운을 빕니다!

+0

조, 어쩌면 오래된 게시물이지만 EPD 64 비트는 현재 학업 목적으로 무료로 제공됩니다. Linux, Windows 및 OSX가 모두 지원됩니다. – gozzilli

+0

당신은 절대적으로 맞습니다, 고마워요! 원래 게시물 당시에는 직접 사용할 수 없었습니다. (또는 .edu 전자 메일 주소가있는 몇 가지 등록 단계를 통해 사용할 수 있었지만 그 당시에는 알지 못했습니다.) 이후 더 직접적으로 사용할 수 있도록 변경 한 이후로, 나는이 대답을 오래 전에 업데이트 했어야합니다. –

+0

나는 OSX에서 이번 학기 EPD 64-bit를 사용 해왔다. 위대한 작품! –

1

나는 매일 세이지를 사용합니다. 나는 큰 팬이지만, 업데이트, 조정 및 구성을 많이하지 않을 경우에는 권장하지 않습니다. 그것은 주요한시기에 아직 준비가되어 있지 않습니다.

웹 사이트를 실행하고 계속 실행하기 위해 기꺼이 노력한다면 웹 노트북 인터페이스가 놀라 울 것입니다. 나는 당신이 루트 접근없이 그것을 달리게 할 수있을 것이라고 상상할 수 없다.

+0

세이지는 웹 서버를 포함하고 있기 때문에 루트 액세스없이 노트북을 작동시킬 수 있습니다. 세이지 프롬프트에 "notebook()"을 입력하십시오. 더 복잡한 설치를 위해 "notebook?"을 입력하십시오. 문서를 읽으십시오. –

+0

@William, 스택 오버플로에서 만나서 반가워요. Windows 서버에서 액세스 할 수 있도록 Sage가 시스템 웹 서버에서 작동하도록하려면 많은 양의 웹 서버를 조정해야한다는 점을 상기하고, 해당 컴퓨터에서 루트 액세스를 요청할 때까지는 어려웠습니다. 그게 1 년 반이 넘었지만 어쩌면 변한 것 같습니다. 응답이 더 이상 최신이 아니기 때문에 저것은 downvote를위한 이유인가? – ptomato

1

virtualenv을 사용하면 가상 격리 된 모든 액세스를 생성 한 다음 easy_install을 호출하여 관리자 권한없이 현재 디렉토리에 필요한 모든 라이브러리를 자동으로 설치 (필요한 경우 컴파일) 할 수 있습니다.

Installing matplotlib with virtualenv

유일한 조건은 아무것도 설치할 수 없습니다 주어진 가상 ENV를 실행할 수 있도록한다. 당신은 그것을 archive로 donwload하고 virtualenv.py를 수동으로 호출해야 할 것이다.

3

SageMath은 완전히 무료입니다 (GPL과 호환 가능).이 프로젝트의 세 가지 주요 목표 중 첫 번째는 소스 (또는 바이너리)에서 설치하기 쉬운 오픈 소스 수학 소프트웨어의 자체 포함 된 배포입니다.), 큰 크기에도 불구하고. 루트 액세스가 필요없이 Sage 또는 Sage의 다른 항목 (예 : 웹 노트)을 설정할 수 있어야합니다.

관련 문제