57

I'm using Max OS X 10.10.3, and I finally got the graphics.py to show in Python 3, before it was saying no module existed.

However, now when I try import graphics, or from graphics import *, I get the message:

"source code string cannot contain null bytes"

Does any Mac user (using Python 3) perhaps know what is wrong? Has anyone used the Zelle book and his graphics.py module? Thanks.

6
  • 3
    According to this, that message appears when there's a null byte in the file. It doesn't say how exactly to remove it, but I'd try to edit the file with something like Notepad++. Commented Jul 5, 2015 at 20:14
  • 1
    From this answer, this might remove the null bytes: python -c 'import sys; sys.stdout.write(sys.stdin.read().replace("\0", ""))' < graphics.py > graphics_new.py. Commented Jul 5, 2015 at 22:26
  • 1
    But how did you create this file? That should answer how you ended up with null bytes in the first place. Commented Jul 5, 2015 at 22:27
  • Evert, I didn't create the graphics.py module, it's designed for beginners wanting an introduction to GUI in Python: mcsp.wartburg.edu/zelle/python Commented Jul 6, 2015 at 2:06
  • And thanks for the advice, I'll try that out. But how many different lines do I use for those instructions you gave me? Thanks. Commented Jul 6, 2015 at 2:06

10 Answers 10

50

For posterity: I had the same problem and fixed it using,

sed -i 's/\x0//g' FILENAME

The file seemed to be messed up in numerous ways (wrong endings, etc); no idea how...

See https://stackoverflow.com/a/2399817/230468

Sign up to request clarification or add additional context in comments.

1 Comment

I created my .py file using windows terminal. echo print("test") > test.py and that file was corrupted from start.
39

I am using Visual Studio Code, the encoding was set to UTF-16 LE. You can check the encoding on the right bottom side of VSCode. Just click on the encoding and select "save with encoding" and select UTF-8. It worked perfectly.

Comments

9

I got this message when I wanted to use eval for my input for my function that sometimes it takes string or int/float but when it takes numpy numbers, it throws this exception, eval(number).

My solution was eval(str(number)).

Comments

6

I just encountered this problem, which is usually caused by the encoding format. You can use Notepad++ to change the encoding format of python files to UTF-8.

Comments

2

Open your file with an editor that can show you all invisible character. You will see where is the invalid char, just delete and re-type it.

If you are on mac you can do it with Coda > Open your file > Show invisible characters.

1 Comment

A hex editor would work for this too.
1

This kind of error is not from your project source code. This kind of error emerges from your python interpreter. So the best solution is to set your python interpreter in your project env directory. or set the interpreters virtual env properly using your IDE's interpreter configuration.

Comments

1
  • Go to python folder python36/Lib/site-packages/scipy/
  • Open __init__.py

Change:

from scipy._lib._testutils import PytestTester

to:

from scipy._lib.test__testutils import PytestTester

It worked on my windows 7

1 Comment

I am using google colab and I got the message: source code string cannot contain null bytes. Do you have any Idea how can I fix it?
0

I faced this issue when I was trying to zip python project and then upload archive to execute the code. The main reason is zip in MacOS put extra system files by default.
Flag "-X" helped me to solve this.
zip -r -X archive.zip my_folder

Comments

-3

I created a file using windows terminal echo "hello" > hello.py and got this issue. I resolved by creating a new file from notepad

Comments

-3

My problem was the python interpreter, try changing it to the right python directory path

1 Comment

This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.