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

相關內容