ImportError:'时间'中的错误魔术数字:Django中的b'\ x03 \ xf3 \ r \ n'

use*_*791 7 python django

运行从GitHub下载的Django应用程序文件时出现此错误。我怎么解决这个问题?

小智 14

请转到您的主目录。然后:

 sudo find . -name "*.pyc" -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)

  • `找到。-type f -name "*.pyc" -delete`,为什么是`sudo`? (10认同)
  • sudo“在你的主目录中”不是必需的 (3认同)

Mar*_*ers 9

结帐中包含.pyc文件。这些是字节缓存文件,存储缓存的字节码,因此 Python 可以避免解析和编译源文件。除非您计划分发没有源文件的项目,否则不应包含这些文件。

只需删除与.pyc文件位于同一目录中的所有.py文件。

错误信息中的“magic number”是存储的字节码的版本号,特定的Python版本只适用于特定的字节码幻数;错误中的数字等于十进制的 62211(当解释为小端数字时),这表明.pyc文件是使用 Python 2.7 interpreter 创建的

Python 3.2 切换到将.pyc文件存储在单独的__pycache__目录中,并在文件名中包含 Python 版本。但是,.pyc仍然支持位于文件旁边的任何文件,.py以允许仅字节码版本。删除此类文件是安全的,因为如果您将来要使用 Python 2.7 解释器,那么这些文件将被重新创建。


小智 8

删除在您的目录中创建的 .pyc 文件。'

例如:我有 gitlab.py 和 gitlab.pyc

后来我将其重命名为 gitlab-api.py

但是在运行 python 文件时,它正在使用 gitlab.pyc 所以

回溯(最近一次调用最后一次):文件“gitlab-api.py”,第 1 行,在 import gitlab ImportError: bad magic number in 'gitlab': b'\x03\xf3\r\n'

当我删除 gitlab.pyc 时它工作正常


小智 8

您可以删除文件夹中的所有 .pyc 文件来解决它。

find . -name \*.pyc -delete 
Run Code Online (Sandbox Code Playgroud)


use*_*791 7

最后,我找到了答案,该项目具有.pyc文件,其中包含以前的版本信息和时间日期,因此出现此错误。删除这些文件后,我得到了输出。