Windows-Zeilenenden der PYC-Datei

Windows-Zeilenenden der PYC-Datei

Ich habe ein Problem, die PYC-Datei auf einem Rechner mit Ubuntu Server 18.04.4 LTS auszuführen.

Dies ist mein Quellcode der Datei:

#!/root/PycharmProjects/Project/venv/bin/python3.7
print("Hi")

Wenn ich es in der Python-Konsole mit den Befehlen kompiliere:

import py_compile
py_compile.compile('test2.py')

Ich erhalte die Datei test2.cpython-37.pyc. Dann füge ich Ausführungszugriff hinzu durch

chmod +x test2.cpython-37.pyc

Wenn ich renne

./test2.cpython-37.pyc

Auf der ersten Maschine (Ubuntu Server 18.04.4 LTS) erhalte ich ein einfaches „Hi“.

Aber wenn ich eine ähnlich kompilierte Datei auf einem anderen Rechner mit demselben Betriebssystem – Ubuntu Server 18.04.4 LTS – ausführe, erhalte ich:

./test2.cpython-37.pyc: line 1: $'B\r\r': command not found
./test2.cpython-37.pyc: line 2: syntax error near unexpected token `)'
./test2.cpython-37.pyc: line 2: `z�p^=�@s
                                          ed�dS)ZHiN)�print�rrtest2.py<module>�'

Es sieht so aus, als würde es Windows-Zeilenenden lesen. Aber warum? Es wird auf einem Ubuntu-Rechner erstellt, kompiliert und ausgeführt.

Wie kann ich dieses Problem lösen und diese PYC-Datei mit dem richtigen Ergebnis auf dem zweiten Computer ausführen?

BEARBEITEN: Auf beiden Maschinen ist es das gleiche Ergebnis von

ls /proc/sys/fs/binfmt_misc

register  status

verwandte Informationen