Problem:
Ich habe die Arbeit an einer Django-App geerbt, die Python-Module verwendet, die svmc importieren. Wenn ich ./manage.py runserver eingebe, erhalte ich Folgendes:
Error: No module named svmc
Lösung gesucht:
sh > python
>>> import svmc
>>>
Weitere Kleinigkeiten:
Also stellte ich eine verwandte Frage , die beantwortet wurde, und führte mich hierher, da ich anscheinend nicht die notwendigen Schritte ausführen kann, die in der in der Antwort angegebenen Lösung aufgeführt sind.
Auf meinem anderen Rechner (Linux, Ubuntu, Lucid Lynx) konnte ich mit dem Paketmanager apt-get recht gut installieren. Ich verwende Homebrew für meinen OS X-Paketmanager und würde es vorziehen, Darwinports, Macports oder Fink zu vermeiden, um libsvm zu installieren.
Meine Umgebung:
- Mac OS X 10.6.4 Snow Leopard auf Intel-basierter x86_64-Architektur
- GCC 4.2
- SWIG 2.0
- Python (64-Bit)
- Django 1.2.1
- setuptools, disutils und mehr!
Was ich ausprobiert habe:
- Ich habe libsvm-2.91 von http://www.csie.ntu.edu.tw/~cjlin/libsvm/ heruntergeladen.
- Ich habe die Datei entpackt, die CD in Python eingelegt, make ausgeführt, libsvm.so.1 und svm.so in PATH in .bash_profile abgelegt und den gleichen Fehler erhalten: kein Modul mit dem Namen svmc.
- Ich habe mir die .py-Dateien in meinem Projekt angesehen, die auf svmc verweisen, und festgestellt, dass sich die einzigen Verweise auf svmc im Verzeichnis python_old der heruntergeladenen Dateien befinden (libsvm-2.91).
- Ich habe SWIG 2.0 heruntergeladen und installiert
- cd in libsvm-2.91 / python_old
Schließlich lief ich (in libsvm-2.91 / python_old): sudo make cleaner rm -f * ~ * .o * .so * .pyc * .pyo rm -f svmc_wrap.c sudo make all
Abgeschnittenes Bildschirm-Erbrochenes:
"_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
Ich würde mich über jede Hilfe, Ideen, Vorschläge oder Kommentare sehr freuen! Danke, Michaux
quelle