Окончания строк Windows в файле pyc

Окончания строк Windows в файле pyc

У меня возникла проблема с запуском файла pyc на одной машине с Ubuntu Server 18.04.4 LTS.

Вот мой исходный код файла:

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

Когда я компилирую его в консоли Python с помощью команд:

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

Я получаю файл test2.cpython-37.pyc. Затем я добавляю доступ к исполнению

chmod +x test2.cpython-37.pyc

Если я побегу

./test2.cpython-37.pyc

на первой машине (Ubuntu Server 18.04.4 LTS) я получаю простое «Привет».

Но если я запущу скомпилированный подобным образом файл на другой машине с той же ОС - Ubuntu Server 18.04.4 LTS, я получу:

./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>�'

Похоже, что он читает окончания строк Windows. Но почему? Он создан, скомпилирован и запущен на машине Ubuntu.

Как решить эту проблему и запустить этот pyc-файл с правильным результатом на второй машине?

РЕДАКТИРОВАТЬ: На обеих машинах результат один и тот же

ls /proc/sys/fs/binfmt_misc

register  status

Связанный контент