Enthought Python, Мудрец, или другие (в кластерах Unix)

У меня есть доступ к кластеру машин Unix, но у них нет программного обеспечения, в котором я нуждаюсь (numpy, scipy, matplotlib, и т.д.), таким образом, я должен установить их один (у меня нет корневых полномочий, также, так команды как apt-get или yast не работайте).

В худшем случае я должен буду скомпилировать их всех из источника. Там какой-либо лучший путь состоит в том, чтобы продолжиться? Я услышал что-то о Enthought Python и Sage, но не уверено, что состоит в том, чтобы пойти лучший способ.

Какие-либо предложения?

12
задан ire_and_curses 1 May 2010 в 18:30
поделиться

7 ответов

python (x, y) - это бесплатный дистрибутив Python, похожий на EPD (Enthought Python Distribution). Хотя обе включают базовые стандартные библиотеки, есть некоторые различия, поэтому вам следует выяснить, какая из них лучше подходит для ваших нужд. Одним из интересных аспектов EPD является то, что он недавно адаптировал библиотеку Intel MKL , поэтому может быть преимущество в производительности как по сравнению с pythonxy, так и по сравнению со стандартным установщиком numpy.

Я не знаю, как эти дистрибутивы работают в системе Unix без доступа root, это то, что вам, возможно, придется попробовать.

Sage, с другой стороны, не ориентирован на то, чтобы быть дистрибутивом (см. страницу Википедии ), поэтому вы не можете реально сравнивать его.

3
ответ дан 2 December 2019 в 05:53
поделиться

Если вы являетесь академиком, вы можете использовать дистрибутив Enthought бесплатно. Он поставляется с собственным инсталлятором и выполняет установку за вас. Это, безусловно, проще, чем устанавливать matplotlib и т.д. с нуля самостоятельно. Доступ администратора на машине установки не требуется, поскольку дистрибутив предоставляет собственные двоичные файлы Python. Я использовал этот способ и нашел его простым и удобным.

6
ответ дан 2 December 2019 в 05:53
поделиться

EPD (Enthought Python Distribution) великолепен, но даже для ученых вы можете получить бесплатно только 32-разрядную версию. Если вы собираетесь делать что-нибудь с интенсивным тараном, это не вариант.

Редактировать: С тех пор это было изменено, и 64-разрядная версия находится в свободном доступе для академического / образовательного использования.

С другой стороны, библиотека Intel MLK действительно имеет значение, и в ней собрано множество изящных (например, последняя версия mayavi) вещей, создание которых из исходных текстов в противном случае может стать настоящей проблемой. Кроме того, как говорили другие, вы можете просто распаковать его в свою домашнюю папку и запустить. Вам не нужен root-доступ.

EPD - отличный вариант, если вам никогда не нужно использовать более 2 ГБ оперативной памяти, но вам придется заплатить, чтобы получить 64-битные сборки.

Python (x, y) отлично подходит, если вы работаете в Windows, но в остальном, удачи в поиске предварительно скомпилированных двоичных файлов linux. Их более или менее больше не существует ... Репозиторий ubuntu, кажется, постоянно не работает, и я больше не знаю, где бы получить для него предварительно скомпилированный tarball. Однако все это может измениться в ближайшем будущем ... Надеюсь, это изменится, потому что это был бы отличный вариант для вас!

Честно говоря, если вам просто нужны numpy, scipy и matplotlib, их относительно легко собрать из исходного кода (особенно если вы можете обойтись без scipy), и вы всегда можете просто создать свой собственный интерпретатор Python, а затем использовать easy_install, чтобы не создавать их из исходников. Это, конечно, предполагает, что базовая среда сборки (gcc и т. Д.) Уже установлена ​​на используемом вами компьютере ...Во всяком случае, это то, что я сделал, когда был в вашей ситуации ...

Если вы пойдете по этому пути, лучше всего загрузить исходный код python и создать свой собственный интерпретатор python, который вы будете использовать для всего. Затем установите setuptools, а все остальное - easy_install. (В качестве альтернативы вы можете загрузить исходный код для numpy и т. Д., А также собрать и установить их для только что созданного интерпретатора python.)

Это показывает основную идею создания основ (python, 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 не устанавливаются должным образом из яйца, см. Примечания по установке.

Этот сценарий в основном предназначен для демонстрации построения независимого python в вашем домашнем каталоге и предполагает, что в системе, на которой вы строите, уже установлены соответствующие зависимости, но он, по крайней мере, указывает вам правильное направление.

Если numpy или scipy не собираются должным образом с помощью easy_install, загрузите архивы исходных текстов и попробуйте собрать их оттуда, используя разные аргументы. (По моему опыту, программа setup.py Numpy / Scipy, автоматически обнаруживающая неправильный компилятор fortran, является распространенной проблемой)

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 

Например, в моей системе OpenSUSE 11.2 мне нужно указать "--fcompiler = gnu95" при сборке numpy и scipy, поскольку у меня установлены и g77, и gfortran. Иначе все будет строиться неправильно.

Однако в более старой системе RHEL 3 он отлично собирается из easy_install как есть. YMMV, конечно. Удачи!

9
ответ дан 2 December 2019 в 05:53
поделиться

Я бы лично выбрал Sage, исходя из цены. Основная проблема, с которой вам придется столкнуться, - это убедиться, что вы используете свою установку python для доступа к библиотекам, независимо от используемого пакета python.

3
ответ дан 2 December 2019 в 05:53
поделиться

Я использую шалфей ежедневно. Я большой поклонник, но я бы не рекомендовал его, если вы не готовы к большому количеству обновлений, настроек и настроек. Он еще не готов к прайм-тайму.

Если вы готовы приложить усилия, чтобы запустить его и поддерживать его работу, интерфейс веб-ноутбука потрясающий. Я не могу себе представить, что вы сможете запустить его без root-доступа.

1
ответ дан 2 December 2019 в 05:53
поделиться

Вы можете использовать virtualenv для создания виртуального изолированного окружения без какого-либо доступа, а затем вызвать easy_install для автоматической установки (и компиляции при необходимости) все библиотеки, которые вам нужны, в вашем текущем каталоге без прав администратора.

Установка matplotlib с помощью virtualenv

Единственное условие - иметь возможность запускать виртуальный env, учитывая, что вы ничего не можете установить. Вам нужно будет загрузить его как архив и вызвать virtualenv.py вручную.

1
ответ дан 2 December 2019 в 05:53
поделиться

SageMath полностью свободен (совместим с GPL), и первая из трех основных целей проекта - быть самодостаточным дистрибутивом математического программного обеспечения с открытым исходным кодом, который легко установить из исходного текста (или из бинарного файла), несмотря на его большой размер. Вы должны быть в состоянии установить Sage или что-либо еще в Sage (например, веб-блокнот) без необходимости root-доступа.

3
ответ дан 2 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: