On 04/29/2013 12:30 PM, Peter Rowat wrote:
This must be a trivial question:

I have "import numpy as np" in the python startup file.

A file called mod1.py contains "def myfn..."
  and inside myfn there is a call to, say, "np.convolve".

Interactively:
python
.... (numpy imported as np)

import mod1

mod1.myfn(...)

Error: global name "np" is not known.
=======
Why is "np" not known to functions in an imported module ?
=======

I can fix this by including "import numpy as np" in any module that uses numpy
functions -- but then what is the point of having a startup file?

That "fix" is indeed the way things are done.  Modules only know about what 
they import or create*.

The point of the startup file is to have things ready for interactive investigation -- if you use numpy *alot* then having it already there beats the heck out of typing `import numpy as np` every time you start the interpreter.

--
~Ethan~

*Unless you start playing with injection and stuff.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to