trouble with reload

Jean-Michel Pichavant jeanmichel at
Fri Aug 14 11:27:39 CEST 2009

Dr. Phillip M. Feldman wrote:
> Actually, I've tried both of these, and I get (different) errors in both
> cases:
> In [1]: from mymath import *
> In [2]: reload(mymath)
> NameError: name 'mymath' is not defined
> In [3]: reload('mymath')
> TypeError: reload() argument must be module
Please don't top post :o)

1/ Do not use the 'from <module> import *' form, unless you don't have 
any other choice, it will set in your namespace an undefined number of 
symbols, you may get some name collisions which usually lead to very 
nasty bugs.

import mymath

will do the trick.

If you are of those lazy coders you can write

import mymath as mm

If you are using a few functions and don't what to prefix them with the 
module name you can also write
import mymath
from mymath import func1, func2, func3

# reload the functions
func1 = mymath.func1
func2 = mymath.func2
func3 = mymath.func3


More information about the Python-list mailing list