Как я могу использовать NumPy без его установки? - PullRequest
9 голосов
/ 08 августа 2011

У меня консольный доступ к компьютеру, на котором у меня нет прав root и sudo.

Версия Python 2.5.2 и numpy недоступен.Я не могу использовать python setup.py install --user, и на машине нет доступных компиляторов.

Могу ли я каким-то образом использовать доступные скомпилированные пакеты https://edge.launchpad.net/~scipy/+archive/ppa/+packages без их установки?Я попытался импортировать модуль numpy напрямую, но он жалуется:

Python 2.5.2 (r252:60911, Jan  4 2009, 21:59:32)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/home/XXX/temp/python-numpy-1.2.1/numpy/__init__.py", line 121,
 in <module>
    raise ImportError(msg)
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python intepreter from there.
>>>

Спасибо!

Обновление: системный администратор не будет устанавливать никакого программного обеспечения в машину (это VPS, и я думаю,что у них есть стандартный образ для развертывания).Они сумасшедшие параноики, они даже не скажут мне, какой у них характер Unix, и даже у службы Apache номер версии запутан!Это вся информация, которую я получаю при входе в систему:

Linux server1 2.4.22 #4 SMP Wed Nov 5 17:44:16 CET 2003 i686 unknown

И для компиляции:

python setup.py install --home=~
[...]
RuntimeError: Broken toolchain: cannot link a simple C program

cat / proc / version

Linux version 2.6.32.25-grsec-dh (root@dl345.dinaserver.com) (gcc version 4.3.2
(Debian 4.3.2-1.1) ) #2 SMP Wed Nov 3 13:21:01 CET 2010

Ответы [ 4 ]

5 голосов
/ 08 августа 2011

Если вы можете разрешить все зависимости, вы можете установить его в вашем $ HOME, используя dpkg.dpkg не разрешает зависимости автоматически, поэтому вам, возможно, придется определить правильный порядок установки пакетов. Загрузите интересующие вас файлы .deb и выполните следующую команду для каждого пакета:

$ dpkg -i --force-not-root --root=$HOME mypackagename.deb

Если вы затем добавите каталог с недавно установленным Numpy в ваш $ PYTHONPATH или в sys.path, Numpy может просто работать.

Кроме того, вы можете извлечь нужные файлы из одного из других двоичных дистрибутивов Numpy (например, Sage ).

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

Наконец,попробуйте спросить у своего администратора, установит ли он для вас Numpy.Вы будете удивлены, как часто простой запрос может решить все ваши проблемы, тем более что это всего лишь одна команда apt-get.

EDIT : просто как альтернатива, если вы можете получить доступна другой машине с той же версией / архитектурой Ubuntu / Debian вы можете загрузить архив с исходным кодом, скомпилировать с python setup.py build, а затем просто скопировать все в directory_where_you_extracted_the_tarball/build/numpy/lib.OS-arch-PythonVersion (в моей системе это lib.linux-x86_64-2.6/)в каталог по вашему выбору на целевой машине.Затем просто добавьте этот каталог в ваш $ PYTHONPATH, и все готово.Не забудьте скопировать содержимое, а не весь каталог (tar -jcf np.tar.bz2 /path/to/numpy/build/numpy/lib.OS-arch-PythonVersion/numpy, затем получите tar.bz2 на удаленный компьютер и извлеките его в каталог по вашему выбору).

Существует некоторая документация по использованию setuptoolsздесь: http://docs.python.org/install/index.html#how-installation-works

Построение Numpy вручную не для слабонервных, так что это может привести к множеству ударов головой и волосам.

3 голосов
/ 08 августа 2011

Я не на 100%, это будет работать, но Enthought имеет бесплатную версию EPD, в которую включены numpy и scipy, для которой может не потребоваться установка компилятора (поскольку, насколько я могу судить, он просто устанавливает двоичные файлы) и не требует root-доступа:

http://www.enthought.com/products/epd_free.php

1 голос
/ 08 августа 2011

Вы можете попробовать настроить среду virtualenv на похожей машине с аналогичной архитектурой.Затем установите virtualenv локально на компьютер VPS и попробуйте скопировать туда среду.

0 голосов
/ 08 августа 2011

Вы можете использовать Python distutils (который запускает python setup.py) установить в локальный каталог , который необходимо добавить в PYTHONPATH .Например,

python setup.py install --prefix=~/local

, которая использует иерархию каталогов ~/local/lib/python2.x.(Или вы можете использовать --home=<dir>, чтобы избежать части python2.x)

...