Локальная установка Numpy

Локальная установка Numpy

Я задал этот вопросизначально на StackOverflow, но один пользователь предложил мне перенести его сюда, так что вот!

У меня есть учетная запись на удаленном компьютере без прав root, и мне нужно было установить локальную версию Python (на удаленном компьютере установлена ​​версия Python, несовместимая с некоторыми моими кодами), Numpy и Scipy там. Я пытаюсь установить numpy локально со вчерашнего дня, но безуспешно.

Я успешно установил локальную версию Python (2.7.3) в /home/myusername/.local/, поэтому я получаю доступ к этой версии Python, выполнив /home/myusername/.local/bin/python. Я попробовал два способа установки Numpy:

  1. Я скачал последнюю стабильную версию Numpy с официального сайта, распаковал ее, зашел в распакованную папку и сделал: /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. Однако я получаю следующую ошибку, за которой следует ряд других ошибок (вытекающих из этой):

    gcc -pthread -shared build/temp.linux-x86_64-2.7/numpy/core/blasdot/_dotblas.o
    -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.7 -lptf77blas -lptcblas -latlas 
    -o build/lib.linux-x86_64-2.7/numpy/core/_dotblas.so
    /usr/bin/ld: /usr/local/lib/libptcblas.a(cblas_dptgemm.o): relocation 
    R_X86_64_32 against `a local symbol' can not be used when making a shared 
    object; recompile with -fPIC
    

    Не совсем понимая, что это значит (кроме того, что ошибка, по-видимому, связана с библиотекой LAPACK), я просто выполнил ту же команду, что и выше, но теперь указав LDFLAGS='-fPIC', как и предполагалось в ошибке, т.е. я так и сделал LDFLAGS="-fPIC" /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. Однако я получил ту же ошибку (за исключением того, что после команды gcc выше был добавлен префикс -fPIC).

  2. Я попробовал установить его с помощью pip (т. е. выполнив команду /home/myusername/.local/bin/pip install numpy/после успешной установки pip в моем локальном пути). Однако я получаю точно такую ​​же ошибку.

Я поискал в интернете, но ни одна из ошибок не была похожа на мою. Моя первая догадка заключается в том, что это связано с каким-то фрагментом кода, для выполнения которого требуются права root, или, может быть, с какой-то проблемой с версией библиотек LAPACK или с gcc (на удаленном компьютере установлена ​​версия gcc 4.1.2).

Помогите, кто-нибудь?

решение1

Нет, при компиляции numpy привилегии root не нужны. Я только что проделал то же самое на своем компьютере некоторое время назад вообще без root. Я не думаю, что есть какая-либо необходимость в этой --prefixкоманде. Попробуйте использовать --userопцию вместо setup.py install --user. Эта опция автоматически делает то, что вы пытаетесь сделать.

Если это не поможет, я бы проверил вашу версию gcc и LAPACK. Возможно, если вы не можете обновить их, то вам стоит попробовать более старую версию numpy.

Связанный контент