Как установить h5py (+numpy+libhdf5+) без полномочий root в системе Debian Linux

Мне нужно установить модуль h5py Python и все его отсутствующие зависимости в системе Debian Linux. Эта задача усложняется следующим:

  1. У меня нет привилегий суперпользователя в этой системе (нет sudo, нет пароля root и т. д.);
  2. остальной код, который я использую, требует версии 2.7 Python, которая не является версией по умолчанию, установленной в этой системе (хотя Python 2.7 доступен в /opt/python-2.7.1).

Идеальным решением было бы то, которое позволило бы мне использовать информацию о зависимостях в пакете Debian python-h5py (выпуск wheezy), чтобы организовать установку всех недостающих предварительных условий для h5py. Есть ли способ сделать это? Если да, то как я могу указать версию Python в /opt/python-2.7.1 в качестве используемой?

Любые предложения о том, как лучше всего это сделать, будут оценены!


person kjo    schedule 22.06.2011    source источник
comment
HDF5 уже установлен в вашей системе, или для этого вам тоже нужно выполнить установку в пользовательской среде?   -  person matt    schedule 22.06.2011
comment
hdf5 установлен, но это более старая версия, чем требуется для версии h5py, которую я хочу, поэтому да, мне также нужно установить hdf5.   -  person kjo    schedule 23.06.2011


Ответы (2)


Это должно быть возможно с помощью virtualenv. Вы должны создать виртуальную среду следующим образом (в командной строке):

virtualenv -p /opt/python-2.7.1 mypythonenv

Последний бит — это имя новой папки, в которую будет помещена среда.

Потом:

cd mypythonenv
source bin/activate

Затем вы можете установить любые модули Python, которые вы хотите, и они будут установлены в virtualenv без каких-либо привилегий суперпользователя. Насколько я знаю, вы не можете использовать там пакеты .deb, но вы можете использовать внутри него установщики Python, такие как pip или easy_install.

person Thomas K    schedule 22.06.2011
comment
Вы когда-либо устанавливали и запускали numpy в Debian, используя pip или easy_install, как вы говорите? - person kjo; 23.06.2011
comment
@kjo: я использую Ubuntu. В какой-то момент я установил numpy из исходного кода, хотя не думаю, что использовал один из установщиков. Ему нужны определенные заголовочные файлы для компоновки, поэтому может быть проще скомпилировать его в системе, где вы можете установить необходимые пакеты и передать их между собой. - person Thomas K; 23.06.2011
comment
@sygi Теперь я бы порекомендовал установить Anaconda или ее кузину Miniconda, если вы предпочитаете небольшую начальную загрузку, за которой следует установка большего количества пакетов самостоятельно. Это позволяет устанавливать такие библиотеки, как libhdf5, без необходимости доступа root. Однако в 2011 году его не было. - person Thomas K; 20.05.2016

Это излишество и не бесплатное решение, но вы можете установить Enthought Python Distribution. HDF5, h5py и (мой любимый) pytables предоставляются бесплатно. Создание numpy — это боль, и часто проще позволить кому-то сделать упаковку за вас. Это бесплатно для академического использования.

person matt    schedule 24.06.2011