Seite 1 von 1

[Assimp] Lauter (Py) Assimp-Fehler

Verfasst: 15.04.2011, 08:29
von glassbear
Heyho,

ich habe gerade Assimp runtergeladen, Version 2. Beim Starten kriege ich diesen Fehler:
Traceback (most recent call last):
File "sample.py", line 8, in ?
from pyassimp import pyassimp
File "/usr/lib64/python2.4/site-packages/pyassimp/pyassimp.py", line 12, in ?
import helper
File "/usr/lib64/python2.4/site-packages/pyassimp/helper.py", line 12, in ?
from errors import AssimpError
File "/usr/lib64/python2.4/site-packages/pyassimp/errors.py", line 7, in ?
class AssimpError(BaseException):
NameError: name 'BaseException' is not defined
geändert in Exception und funktioniert. Weiter gehts:
['/usr/local/lib/']
Try /usr/local/lib/libassimp.so
Traceback (most recent call last):
File "sample.py", line 8, in ?
from pyassimp import pyassimp
File "/usr/lib64/python2.4/site-packages/pyassimp/pyassimp.py", line 167, in ?
class AssimpLib(object):
File "/usr/lib64/python2.4/site-packages/pyassimp/pyassimp.py", line 171, in AssimpLib
load, release, dll = helper.search_library()
File "/usr/lib64/python2.4/site-packages/pyassimp/helper.py", line 107, in search_library
res = max(candidates, key=operator.itemgetter(0))[1]
TypeError: max() takes no keyword arguments
das Keyword-Argument für max() wurde mit 2.5 eingeführt. Ich hab hier 2.4. Da sollte jemand die Readme anpassen, dass das definitiv nicht mit < 2.5 funktioniert ;)

sample.py, helper.py und pyassimp.py laufen nicht mit Python 3.2. Mit "2to3" lassen sich die Anpassungen jedoch machen und der geänderte Code sollte auch mit 2.5 laufen.

Ich hab versucht mit python2.7 eine Handvoll Modelle zu laden (u.a. fels.3ds, box.obj) und alles, was ich kriege, ist:
Failed to load model: test/models/OBJ/box.obj
Error: could not import file: test/models/OBJ/box.obj
Ja wo ist denn nu der Fehler? :cry:


Wär toll, wenn wir das zusammen zum Laufen kriegen :)

Re: [Assimp] Lauter (Py) Assimp-Fehler

Verfasst: 19.04.2011, 22:54
von Aramis
Ich hab mal eben das Skript, das die Ctypes-Bindings automatisch aus den Headern zu generiert, leicht angepasst (ich glaube, der urspruengliche Autor ist schon lange nicht mehr auf ZFX aktiv) und die aktualisierten Dateien eingecheckt.

Ausserdem hab ich quicktest.py hinzugefuegt, das File laesst aber aktuell nur die sample.py auf alle Testmodelle im Repos los, ist also nur eine sehr eingeschraenkte Testsuite.

Ob das deine Probleme loest - ich bezweifle es. Riecht doch irgendwie nach falschen Pfaden, bist du dir denn auch sicher dass die Dateien erreichbar waren?

PS: Ich werde die naechsten Tage noch ein paar Sachen an PyAssimp fixen, u.a. fehlen aktuell die Postprocessing-Konstanten und beim Zugriff auf Normalen stuerzt alles ab. Hat alles ziemlich viel TLC noetig :-)

Re: [Assimp] Lauter (Py) Assimp-Fehler

Verfasst: 20.04.2011, 09:32
von glassbear
Sehr schoen. Ich schau mir das spaetestens morgen an :)

Edit: Compile Fehler auf einem Ubuntu 11.04:

Code: Alles auswählen

assimp/code/ProcessHelper.cpp:271:53: error: ‘UINT_MAX’ was not declared in this scope
Das gleiche Problem in DeboneProcess.cpp

UINT_MAX ist in limits.h/climits definiert. Einfach einbinden und gut :)

der quicktest ergibt:

Code: Alles auswählen

** Loaded 155 models, got controlled errors for 8 files

Re: [Assimp] Lauter (Py) Assimp-Fehler

Verfasst: 21.04.2011, 11:55
von Aramis
Ist, wie bereits angekuendigt, korrigiert.

Das Ergebnis des Tests ist hingegen positiv - scheint doch zu funktionieren :-)