Проблема:
Я унаследовал работу над приложением Django, в котором используются модули Python, которые импортируют svmc. Когда я печатаю ./manage.py runserver, я получаю следующее:
Error: No module named svmc
Требуемое решение:
sh > python
>>> import svmc
>>>
Больше кусочков:
Поэтому я задал соответствующий вопрос, на который был дан ответ, и привел меня сюда, поскольку я не могу выполнить необходимые шаги, упомянутые в решении, предоставленном указанным ответом.
На другой моей машине (Linux, Ubuntu, Lucid Lynx) мне удалось довольно хорошо установить с помощью менеджера пакетов apt-get. Я использую Homebrew для моего менеджера пакетов OS X и предпочитаю избегать Darwinports, Macports или Fink для установки libsvm.
Моя среда:
- Mac OS X 10.6.4 Snow Leopard на архитектуре Intel x86_64 на базе Intel
- GCC 4.2
- SWIG 2.0
- Python (64-битный)
- Джанго 1.2.1
- setuptools, disutils и многое другое!
Что я пробовал:
- Я скачал libsvm-2.91 с http://www.csie.ntu.edu.tw/~cjlin/libsvm/
- Я распаковываю файл, cd в python, запускаю make, помещаю libsvm.so.1 и svm.so в PATH в .bash_profile, и получаю ту же ошибку: нет модуля с именем svmc.
- Я посмотрел на файлы .py в своем проекте, ссылающемся на svmc, и заметил, что единственные ссылки на svmc находятся в каталоге загруженных файлов python_old (libsvm-2.91)
- Я скачал SWIG 2.0 и установил его
- перейдите в libsvm-2.91/python_old
Наконец, я запустил (внутри libsvm-2.91/python_old): sudo make cleaner rm -f * ~ * .o * .so * .pyc * .pyo rm -f svmc_wrap.c sudo сделать все
Усеченный экран рвоты:
"_PyLong_Type", referenced from:
SWIG_AsVal_long(_object*, long*) in svmc_wrap.o
SWIG_AsVal_double(_object*, double*)in svmc_wrap.o
SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*)in svmc_wrap.o
"_PyObject_Init", referenced from:
_PySwigObject_dealloc in svmc_wrap.o
_SWIG_Python_NewPointerObj in svmc_wrap.o
_initsvmc in svmc_wrap.o
...
"_PyTuple_SetItem", referenced from:
_PySwigObject_format in svmc_wrap.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [svmc.so] Error 1
Буду очень признателен за любую помощь, идеи, предложения или комментарии! Спасибо, Мишо