pyc 文件的 Windows 行尾

pyc 文件的 Windows 行尾

我在装有 Ubuntu Server 18.04.4 LTS 的一台机器上运行 pyc 文件时遇到了问题。

这是我的文件源代码:

#!/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

相关内容