Python: 源代码字符串不能包含空字节

Python: source code string cannot contain null bytes

我正在使用 Max OS X 10.10.3,在它说不存在模块之前,我终于在 Python 3 中显示了 graphics.py

但是,现在当我尝试 import graphicsfrom graphics import * 时,我收到消息:

"source code string cannot contain null bytes"

有 Mac 用户(使用 Python 3)可能知道哪里出了问题吗?有人用过 Zelle 的书和他的 graphics.py 模块吗?谢谢。

这种错误不是来自您的项目源代码。这种错误来自您的 python 解释器。所以最好的解决方案是在项目 env 目录中设置 python 解释器。或使用您的 IDE 解释器配置正确设置解释器虚拟环境。

为了后代:我遇到了同样的问题并使用

修复了它
sed -i 's/\x0//g' FILENAME

该文件似乎在很多方面都乱七八糟(错误的结尾等);不知道怎么...

我刚遇到这个问题,一般是编码格式问题。您可以使用Notepad++将python个文件的编码格式改为UTF-8。

使用可以显示所有不可见字符的编辑器打开您的文件。 您会看到无效字符在哪里,只需删除并重新输入即可。

如果您在 mac,您可以使用 Coda > 打开文件 > 显示不可见字符。

我正在使用 Visual Studio 代码,编码设置为 UTF-16 LE。 您可以在 VSCode 的右下角查看编码。只需单击编码和 select "save with encoding" 和 select UTF-8。效果很好。

  • 转到 python 文件夹 python36/Lib/site-packages/scipy/
  • 打开__init__.py

变化:

from scipy._lib._testutils import PytestTester

至:

from scipy._lib.test__testutils import PytestTester

它对我的 windows 7

有效

当我想使用 eval 作为我的函数输入时收到此消息,有时它需要字符串或 int/float 但是当它需要 numpy 数字时,它会抛出这个异常,eval(number).

我的解决方案是 eval(str(number))

我使用 windows 终端 echo "hello" > hello.py 创建了一个文件并遇到了这个问题。我通过从记事本

创建一个新文件来解决

我的问题是 python 解释器,尝试将其更改为正确的 python 目录路径