Первоначально я разместил этот вопрос в 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 . Однако я получил ту же ошибку (за исключением того, что префикс -fPIC был добавлен после команды gcc выше).

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

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

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

1 ответ1

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .