Seite 1 von 1

Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Mittwoch 2. März 2016, 15:01
von hoal
Hallo zusammen,
ich befinde mich in folgender Situation. Für meine Abschlussarbeit muss ich eine .arxml in eine .dbc Datei konvertieren, während meiner Suche im Netz bin ich auf diese Links gestoßen:

https://github.com/ebroecker/canmatrix
http://eduard-broecker.de/Software/canmatrix.html

Beim Versuch das Programm zu starten, trat allerding eine Fehlermeldung auf. Da ich zuvor noch nie mit Python gearbeitet habe und unter Zeitdruck stehe wende ich mich an euch.

Fehlermeldung:
Traceback (most recent call last):
File "convert.py", line 5, in <module> from .log import setup_logger, set_log_level
SystemError: Parent module `` not loaded, cannot perform relative import

Die heruntergeladene convert.py habe ich in Verzeichnis für Python im Unterordner Scripts abgelegt.

System:
Windows 7
Python 3.5.1

Das selbe Problem mit dem sofort schließenden Fenster habe ich auch wenn ich die Windows-exe convert.exe starte. siehe eduard-broecker.de.

Wäre wirklich super wenn mir jemand weiterhelfen könnte.
Danke schoneinmal im Voraus.

Gruß hoal

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Mittwoch 2. März 2016, 15:10
von BlackJack
@hoal: Das klingt so ein bisschen als wenn *in* dem `canmatrix/`-Verzeichnis die `convert.py` aufgerufen wurde. Hast Du das denn nach Anleitung installiert?

Was meinst Du mit dem schliessenden Fenster? Du öffnest eine Eingabeaufforderung und startest dort drin das Programm und die Eingabeaufforderung schliesst sich dann? Das sollte eigentlich nicht passieren.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Mittwoch 2. März 2016, 15:34
von hoal
Mit der Anleitung habe ich um ehrlich zu sein etwas meine Probleme, das beginnt bereits bei "Install canmatix..." hier habe ich den das File "canmatrix-3.0" unter Releases heruntergeladen und die "examples" in meine Scripts Ordner kopiert.

Install instructions:
If you are using a Windows system, these scripts are usually installed at the location of your python installation. For example 'C:\python3.4\Scripts' or 'C:\python2.7\Scripts'

Sobald ich die .py starte öffnet sich für wenige als eine Sekunden das Eingabefenster, den Inhalt sehe ich nur aufblitzen und das wars. Nach ein Paar versuchen habe ich es geschaft von der convert.exe einen Screenshot zu machen.
In einem anderen Forum habe ich bereits gelesen dass dies ein Windows Problem sein soll und man ans Ende des Quellcodes ein input() schreiben soll. Dies habe ich bereits versucht leider ohne Erfolg.

Bilder:
http://fs5.directupload.net/images/160302/gz24euhp.png
http://fs5.directupload.net/images/160302/ug6j3bau.png

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Mittwoch 2. März 2016, 16:32
von BlackJack
@hoal: Das ist kein Windowsproblem. Das sind Kommandozeilenprogramme die man in einer Kommandozeile startet und nicht per Doppelklick auf die Datei. Also erst die Eingabeaufforderung starten und dort dann mit der Tastatur arbeiten.

Dort muss man auch die `setup.py` ausführen um das ganze zu installieren. Also das Archiv entpacken, in der Eingabeaufforderung mit ``cd`` in das Verzeichnis wechseln in dem die `setup.py` liegt und dort dann ``python setup.py install`` eingeben. Allerdings hat das Programm einige Abhängigkeiten die man auch/vorher installieren müsste. Einfacher ist wahrscheinlich ``pip`` zu verwenden. Also Beispielsweise in der Eingabeaufforderung ``python -m pip install canmatrix`` ausführen.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Donnerstag 3. März 2016, 10:13
von hoal
Okay ``python -m pip install canmatrix`` hat soweit funktioniert.

Bei der Ausführung von ``canconvert headunit.arxml headunit.dbc`` bekomme ich als Feedback, ``try pip install lxml``.
Hierbei erhalte ich wiederum die Meldung ``Is libxml2 installed?``.

Gefunden habe ich im Netz diese Webseite: http://xmlsoft.org/downloads.html --> http://xmlsoft.org/sources/win32/

Jetzt stellt sich mir die Frage wie ich die lib einbinde?

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Donnerstag 3. März 2016, 10:49
von /me
hoal hat geschrieben:Jetzt stellt sich mir die Frage wie ich die lib einbinde?
Du könntest für Windows ein vorgefertigtes Paket für lxml verwenden.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Donnerstag 3. März 2016, 11:10
von BlackJack
@hoal: Du könntest auch noch mal die `convert.exe` probieren, ob die alles nötige integriert hat und einfach funktioniert. Man muss die halt auch *in* einer Eingabeaufforderung starten und nicht Doppelklicken.

Ansonsten ist für Windows eine Python-Distribution mit Paketverwaltung wie Anaconda auch eine Option. Ist natürlich etwas mit Kanonen auf Spatzen geschossen wenn man das nur für ein kleines Skript braucht, aber man bekommt ähnlichen Komfort wie bei einem Linuxsystem was vorgefertigte Pakete und deren Installation angeht.

Oder man installiert sich ein Linux, beispielsweise in einer VM.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Donnerstag 3. März 2016, 11:19
von hoal
Habe ich bereits versucht mit folgendem Ergebnis:
http://fs5.directupload.net/images/160303/y68ulmnt.png

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Montag 16. Januar 2017, 16:23
von gilead
Hallo liebe User,

ich habe canmatrix mit pip installiert. so weit- so gut.
Nun möchte ich die Funktionen nutzen (bin ganz neu in Python).
Könnte jemand ein Skript zur Verwendung stellen, das die Funktionen ordnungsgemäß aufruft?
Über "python convert.py test.dbc excel.xlsx" im entsprechenden Verzeichnis in der cmd-line komme ich nicht weiter.
Leider sind auf den entsprechenden Seiten keine Anleitungen/Wiki dabei:
https://github.com/ebroecker/canmatrix
https://pypi.python.org/pypi/canmatrix/0.4

Es wäre toll, wenn mir jemand weiterhelfen könnte!

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Montag 16. Januar 2017, 18:42
von BlackJack
@gilead: Was heisst nicht weiterkommen denn konkret? Wo kommt `convert.py` her? Das Programm heisst doch `canconvert.py` wenn ich das richtig sehe.

Die `REAMDE.md` enthält doch so etwas wie eine Anleitung für die Konvertierung und einige andere Beispiele die man mit dem Programm machen kann.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Dienstag 17. Januar 2017, 08:51
von gilead
@BlackJack: Danke für die Antwort!
Mein erster Fehler war, dass ich convert.py in dem site-package starten wollte. Das Starten des Programms canconvert.exe unter C:\python2.7\Scripts in der command line funktioniert jetzt.

Nun habe ich mit dem Konvertieren Probleme. Ich navigiere per cmd in den Scripts Ordner und starte dann "python canconvert.exe". Die Hilfe wird angezeigt. Ebenfalls unter C:\python2.7\Scripts habe ich testdbc.dbc abgelegt, die ich in ein xlsx konvertieren möchte.
Deshalb habe ich, wie in der readme beschrieben, folgendes versucht:
"python canconvert.exe testdbc.dbc export.xlsx"
Dabei habe ich die export.xlsx auch als leeres excel-sheet im selben ordner angelegt.
Folgende Fehlermeldung erhalte ich:
"ImportError: No module named builtins"

Welche Befehle/options muss ich noch in der cmd-line schreiben, damit die Konvertierung funktioniert?

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Dienstag 17. Januar 2017, 09:31
von BlackJack
@gilead: Das Du mit Python eine EXE startest, kann ich jetzt fast nicht glauben. Und `builtins` ist ein Modul das zur Standardbibliothek von Python gehört — wenn das nicht gefunden werden kann, dann stimmt etwas mit der Python-Installation nicht.

Re: Programm bleibt nicht offen, convert .arxml to .dbc

Verfasst: Dienstag 17. Januar 2017, 14:32
von gilead
Ich korrigiere: Starte die canconvert.exe über die cmd-line ohne python. :D
Stimmt der Aufruf des Programmes mit folgender Zeile: "..\canconvert.exe test.dbc test.xlsx" ?
Gleiche Fehlermeldung wie vorher.. beim Importieren der -dbc scheint etwas schief zu laufen..

Habe nun Python 2.7.13 mehrmals nach Anleitung installiert - aber keine Änderung der Fehlermeldung.

https://pypi.python.org/pypi/canmatrix/0.4 und https://github.com/ebroecker/canmatrix liefern unterschiedlich ausführliche packages. Ich habe die .whl vom ersten Link installiert. Vielleicht tut das was zur Sache.