Первоначально я разместил этот вопрос в StackOverflow, но пользователь предложил перенести его сюда, и вот я здесь!
У меня есть учетная запись на удаленном компьютере без прав root, и мне нужно было установить локальную версию Python (на удаленном компьютере установлена версия Python, несовместимая с некоторыми моими кодами), Numpy и Scipy. Со вчерашнего дня я пытался установить numpy локально, но безуспешно.
Я успешно установил локальную версию Python (2.7.3) в /home/myusername/.local/, поэтому я получаю доступ к этой версии Python, выполнив /home/myusername/.local/bin/python
. Я попробовал два способа установки Numpy:
Я скачал последнюю официальную версию 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 выше).Я попытался установить его с помощью pip, то есть, выполнив
/home/myusername/.local/bin/pip install numpy
/ после успешной установки pip по моему локальному пути). Тем не менее, я получаю точно такую же ошибку.
Я искал в Интернете, но ни одна из ошибок не была похожа на мою. Мое первое предположение состоит в том, что это связано с некоторым фрагментом кода, для выполнения которого требуются разрешения root, или, возможно, с некоторой проблемой с версией библиотек LAPACK или с gcc (на удаленном компьютере установлена версия 4.1.2 gcc). ,
Помогите кому-нибудь?