gelöst bad interpreter: No such file or directory bei LinuxCNC Integration

Akturianer

Aktiver Benutzer
Member
Landesflagge
Hi, vielen Dank
habe alles nochmals neu Installiert, die obigen Fehler treten jetzt nicht mehr auf.
Bekomme jetzt aber folgenden Fehler wenn ich aus Axis heraus, das Tool aufrufe. Da ich Anfänger bin, komme ich hier jetzt nicht weiter.
Danke für weitere Anleitung
Bildschirmfoto zu 2022-04-22 21-55-09.png

folgendes habe ich in der . Config/dxf2gcode/config/config.cfg geändert
[Export Parameters]
write_to_stdout = 1

in der Anleitung steht noch folgendes, da weiss ich jetzt aber nicht ob das auf die obige Fehlermeldung zutrifft?? bzw wo und wie ich das eingeben soll.

Failure Messages and Solutions​

bash: ./dxf2gcode.py:
/usr/bin/python3^M: bad interpreter: No such file or directory

The file may contain carriage return characters. Therefore you need to convert those files first.
In bash, the files can be converted conveniently by the following lines:
mkdir clean
for var in $( ls dxf2gcode*.py );
do cat [imath]var | tr -d "\r" > clean/[/imath]var;
done
mv clean/* ./
rmdir clean/

Make the file executable
chmod +x dxf2gcode.py



 
Zuletzt bearbeitet:
Installiere mal:
sudo apt-get install dos2unix
dann
dos2unix dxf2gcode.py

Scheinbar hat mein Install-Script dos2unix nicht ausgeführt ... warum auch immer.
Wegen dieser Problematik habe ich das extra ins Script eingebaut (nebst dem korrekten Sprach-Handling)!

Du darfst übrigens das Script immer wieder laufen lassen. Das macht nichts kaputt!
Aber poste dann mal den ganzen Log davon (am besten in einem Spoiler oder Code Block).
Hinweis:
Die Installation ist NUR dann komplett, wenn das Script Rot "dxf2gcode was successfully installed." ausgibt!
 
Zuletzt bearbeitet:
Einen Rat hätte ich aber noch.
Warum soll dxf2gcode auf dem CNC steuernden Rechner laufen?
Solche Experimente sind nicht zu empfehlen.
Arbeitet doch dieser Computer mit einem Real Time Kernel.
Der gibt LinuxCNC alle Prioritäten. Die Maschine soll ja auch das Werkstück korrekt bearbeiten.
Viel Platz gibt's da nicht für andere Software.
Stell Dir vor, dieser PC "vergisst" oder verpasst ein paar µs !
Da würde ein Schrittmotor für 1 µs nicht angesteuert.... das würde im einfachsten Fall ein unbrauchbares Stück ergeben.
Im schlechtesten Fall einen Crash.
Der RT Kernel buffert NICHTS. Darum ist auch der Browser so langsam.
Der RT Kernel macht alles Zeitecht. 0 Verzögerung!

Darum ist LinuxCNC über USB ein NO GO.
(Jegliche Datenübertragung über USB ist gebuffert)

Darum macht man die Jitter Routine im Stepconfwizard.
Die soll feststellen, das der PC sogar beim super-GAU immer noch schnell genug ist!
 
Zuletzt bearbeitet:
Vielen Dank,
Die Installation hat diesen Text nach Installation ausgerufen, Script Rot "dxf2gcode was successfully installed.", müsste also passen,

Ich hatte das in einem YOUTUB gesehen und in der Anleitung auf der dxf2Gcode Seite ist es auch beschrieben das man das machen kann, fand dann das auch praktisch.

Habe das jetzt mal wie oben eingegeben:
diesa@Werkstatt:~$ sudo apt-get install dos2unix
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
dos2unix ist schon die neueste Version (7.4.0-1).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
diesa@Werkstatt:~$ dos2unix dxf2gcode.py
dos2unix: dxf2gcode.py: Datei oder Verzeichnis nicht gefunden
dos2unix: dxf2gcode.py wird übersprungen, da es keine reguläre Datei ist
diese Datei liegt hier: ~/linuxcnc/dxf2gcode/dxf2gcode.py
und hier ~/linuxcnc/dxf2gcode/build/scripts-3.7/dxf2gcode.py

folgende datei liegt noch unter user/bin/dxf2gcode liegt hier ohne .endung Python3 script
und unter /usr/local/bin/dxf2gode auch ohne endung Python3 script

diesa@Werkstatt:~$ uname -a
Linux Werkstatt 4.19.0-20-rt-amd64 #1 SMP PREEMPT RT Debian 4.19.235-1 (2022-03-17) x86_64 GNU/Linux
 
Hmm. Wenn das Installer script nochmal laufen lässt und die Terminal Ausgabe hier posten kannst?
Ich will mal schauen, was er beim dos2unix Befehl ausgibt.
 
Das sieht in meiner Debian 10 VM genau gleich aus und dxf2gcode läuft da.
Bin gerade überfragt :(

"Bekomme jetzt aber folgenden Fehler wenn ich aus Axis heraus, das Tool aufrufe."
Wie "aus Axis heraus"?
 
dxf2gcode läuft wenn ich es aus dem Terminal starte und es funktioniert.

Laut Anleitung und den darin beschrieben Änderungen in der Maschinen.INI und dem obigen Video kann man es Axis implementieren und von hier heraus aufrufen.
Über Datei öffnen xxxxx.dxf wird dann das dxf2gcode Tool gestartet, dass das dxf in xxx.NGC umwandlen und fräsen.
Hier kommt dann beim Öffnen der xxx.dxf Datei diese Fehlermeldung
1650824198925.png

Hier noch ein Auszug aus der Installationsanleitung: (vielleicht mach ich ja hier was falsch??)

Integration in EMC 2.2 und Axis​

(1) Die ausführbare Datei und alle zugehörigen Dateien müssen sich im Ordner /usr/bin/ befinden, andernfalls kann Axis die Datei nicht finden.

Eine andere Methode besteht darin, im Ordner /usr/bin/ einen symbolischen Link zu der ausführbaren Datei zu erstellen, die sich in einem anderen Ordner befindet (so mache ich das, denken Sie daran, dass der Name je nach Version unterschiedlich sein kann).

sudo ln -s /SOMEWHERE/...../source/dxf2gcode.py /usr/bin/dxf2gcode.py

Um den Link ausführbar zu machen, müssen Sie den folgenden Code eingeben

sudo chmod a+x /usr/bin/dxf2gcode.py

(2) Ändern Sie die AXIS-Konfigurationsdatei, um dem Computer mitzuteilen, dass Sie alle dxf-Dateien mit dxf2gcode verknüpfen möchten. Auf meiner Maschine befindet sich die Datei unter: home/ICH/emc2/configs/Meine-Maschine/Meine-Maschine.ini

Sie müssen den Abschnitt FILTER wie folgt ändern (vielleicht möchten Sie auch den Editor hinzufügen):

[FILTER]
PROGRAM_EXTENSION =.dxf 2D ACad/QCad Drawing
dxf = dxf2gcode.py
PROGRAM_FILTER = python
PROGRAM_EXTENSION = *.py Python Script
[DISPLAY]
EDITOR = gedit

(3) Jetzt bleibt nur noch eines zu tun. Sie müssen DXF2GCODE anweisen, in die Standardausgabe von Unix zu schreiben. Die Config-Datei befindet sich je nach Version in unterschiedlichen Ordnern. Die neueste Version erzeugt den Config-Ordner im selben Ordner, in dem sich die ausführbare dxf2gcode-Datei befindet (nicht der symbolische Link). Bitte ändern Sie die Option Write to stdout wie unten gezeigt.

[Export Parameters]
write_to_stdout = 1

Fehlermeldungen und Lösungen​

bash: ./dxf2gcode.py:
/usr/bin/python3^M: bad interpreter: No such file or directory

Die Datei kann Wagenrücklaufzeichen enthalten. Daher müssen Sie diese Dateien zuerst konvertieren.

In der Bash können die Dateien bequem durch folgende Zeilen konvertiert werden:

mkdir clean
for var in $( ls dxf2gcode*.py );
do cat [imath]var | tr -d "\r" > clean/[/imath]var;
done
mv clean/* ./
rmdir clean/

Machen Sie die Datei ausführbar

chmod +x dxf2gcode.py
 
Ok. Habe die Lösung!
Wenn Du zBsp unter FILTER
Code:
Bitte, Anmelden oder Registrieren to view codes content!
hast, musst Du die Datei /home/dieter/dxf2gcode/dxf2gcode.py zuerst ausführbar machen.
dann dos2unix /home/dieter/dxf2gcode/dxf2gcode.py

Da Du eine andere dxf2gcode.py von LinuxCNC aus ausführst, musst Du natürlich den dos2unix Befehl mit dieser machen ;)
 
Geil. Freut mich.
Habe zuerst falsch verstanden und immer mit direkt Aufruf probiert.
Den plumpen Verzeichniswechsel machte ich, weil zBsp Lubuntu alles Andere nicht verstand!
Ist nicht einfach, eine pauschallösung zu coden!
Bis jetzt habe ich sonst keinerlei andere Reklamationen.
 
Vielleicht lag es ja das ich Debian 10 habe, aber das müsste ja ähgnlich dem Ubuntu sein? Es funktioniert jetzt auf jedenfall.
Nochmals vielen Danke für deine Mühe..
 
Debian 10 und 11, Linux Mint und Lubuntu hab ich getestet!
Fühle mich aber bestätigt, dass mein Installer korrekt läuft.

Nochmals vielen Danke für deine Mühe..
Dir auch Danke. Feedback ist willkommen und unbedingt nötig ;)
 
Zuletzt bearbeitet:

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Zurück
Oben