This is a bit of an iPython headshot that comes with Spyder. I’ve fallen foul of this when copy/pasting random bits of code from SO to test only to find really odd behaviour several days later – variables defined in the iPython console will also be in the script’s global namespace indefinitely.
There’s two things you can do:
- A hard restart of the Kernel (
ctrl
+.
) - Follow up on this feature request thread where it’s now possible to clear the namespace automatically every time you run a script.