Подтвердить что ты не робот

Как установить пакеты python без привилегий root?

Я использую numpy/scipy/pynest для выполнения некоторых вычислительных вычислений на Mac OS X. Для повышения производительности мы арендуем кластер 400- node (с Linux) из нашего университета, чтобы задачи может быть сделано параллельно. Проблема заключается в том, что нам не разрешено устанавливать какие-либо дополнительные пакеты в кластере (no sudo или любой инструмент установки), они предоставляют только исходный сам python.

Как я могу запустить мои скрипты в кластере? Есть ли способ интегрировать модули (numpy и scipy также имеют некоторые скомпилированные двоичные файлы, которые, как я думаю), чтобы их можно было интерпретировать и выполнять без установки пакетов?

4b9b3361

Ответ 1

Вам не нужны привилегии root для установки пакетов в вашем домашнем каталоге. Вы можете сделать это с помощью команды, например

pip install --user numpy

или из источника

python setup.py install --user

См. fooobar.com/questions/5241/...


Первый вариант намного удобнее, поэтому, если на сервере нет pip или easy_install, вы должны вежливо попросить администраторов добавить его, объясняя им преимущество (они больше не будут беспокоиться по запросам на отдельные пакеты).

Ответ 2

Вы можете создать виртуальную среду через пакет virtualenv.

Это создает папку (скажем venv) с новой копией исполняемого файла Python и новой директорией site-packages, в которую вы можете "установить" любое количество пакетов без какого-либо административного доступа вообще. Таким образом, активация среды через source venv/bin/activate даст Python среду, эквивалентную установке этих пакетов.

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

Вы можете попробовать установить virtualenv в своем кластере в свой собственный каталог сайтов-пакетов, выполнив следующие шаги:

  • Загрузите virtualenv из здесь, поместите его в свой кластер

  • Установите его с помощью setup.py в конкретный локальный каталог, который будет служить вашим собственным сайтом-пакетами:

    python setup.py build
    python setup.py install --install-base /path/to/local-site-packages
    
  • Добавьте этот каталог в свой PYTHONPATH:

    export PYTHONPATH="/path/to/local-site-packages:${PYTHONPATH}"
    
  • Создайте virtualenv:

    virtualenv venv
    

Ответ 3

Вы можете импортировать модуль с произвольного пути, вызвав:

sys.path.append()

Ответ 4

Распределение Python Anaconda решает многие вопросы, обсуждаемые в этих вопросах. Anaconda не требует доступа администратора или root и может быть установлен в ваш домашний каталог. Anaconda поставляется со многими рассматриваемыми пакетами (scipy, numpy, sklearn и т.д.), А также установщик conda для установки дополнительных пакетов, если необходимы дополнительные.

Его можно загрузить из https://www.continuum.io/downloads