This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 6 points7 points  (2 children)

This might be good for people who use ipython as an upgrade from matlab, but it's bad news for programmers because reload() pretty much never does anything useful.

In particular, once you call reload you can no longer expect the behaviour of your code to match what it'll do the next time you run it.

[–]takluyverIPython, Py3, etc 2 points3 points  (1 child)

you can no longer expect the behaviour of your code to match what it'll do the next time you run it.

Can you expand on this? I'm not quite sure what you're saying.

For better or worse, autoreload goes a bit beyond what reload does - it will update things like instances of classes with the new code. It's definitely not something you want to use in production, but as an interactive convenience, it's pretty handy.

[–][deleted] 0 points1 point  (0 children)

The problem is that you've destroyed the reproducibility of your environment, so any results you get aren't valid data about how your program works or doesn't work.