Как сказать питонам numpy, где найти liblapack.so.3? - PullRequest
0 голосов
/ 26 марта 2012

Итак, мне нужно запустить несколько сценариев python в кластере с машинами, для которых у меня нет прав администратора.Поскольку numpy отсутствовал, на некоторых машинах я создал виртуальную среду и установил numpy там.Я подключился к машине, с которой я знал, что у нее нет python, и запустил интерпретатор python virtualenv с помощью ~my_env/bin/python для проверки на import numpy.

Я получил эту ошибку:

# Some trace...
ImportError: liblapack.so.3: File was not found # or something similar.

Поэтому я провел небольшое исследование в Интернете, и кто-то придумал LD_LIBRARY_PATH.Поэтому я добавил

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/lib; export LD_LIBRARY_PATH

к своему .bashrc и получил его.И я положил liblapack.so.3 в /home/me/lib;.Теперь, когда я пытаюсь импортировать numpy, я получаю сообщение об ошибке:

ImportError: liblapack.so.3: wrong ELF class: ELFCLASS32

Теперь я застрял.Есть идеи, что могло пойти не так?

На кластерных машинах установлен Suse.

1 Ответ

5 голосов
/ 26 марта 2012

Ошибка означает, что формат библиотеки liblapack.so.3 C отличается от двоичного формата самого Python.Обычная причина этой конкретной ошибки - наличие 64-битного Python, но 32-битная библиотека C.Вам нужно, чтобы Python и библиотека C были скомпилированы одинаково.

...