Nick Matzke schrieb:
Scott David Daniels wrote:
M.-A. Lemburg wrote:
On 2009-02-05 10:08, Nick Matzke wrote:
..., I can run this in the ipython shell just fine:
a = ["12", "15", "16", "38.2"]
dim = int(sqrt(size(a)))
...But if I move these commands to a function in another file, it
freaks out:
You need to add:
from math import sqrt
or:
from cmath import sqrt
or:
from numpy import sqrt
The weird thing is, when I do this, I still get the error:
============
n...@mws2[phylocom]|27> a = ["12", "15", "16", "38.2"]
n...@mws2[phylocom]|28> from LR_run_functions_v2 import
make_half_square_array
n...@mws2[phylocom]|24> d = make_half_square_array(a)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/bioinformatics/phylocom/<ipython console> in <module>()
/bioinformatics/phylocom/_scripts/LR_run_functions_v2.py in
make_half_square_array(linear_version_of_square_array)
1548 from numpy import sqrt
1549 a = linear_version_of_square_array
-> 1550 dim = int(sqrt(size(a)))
1551
1552
NameError: global name 'sqrt' is not defined
n...@mws2[phylocom]|25>
============
Is there some other place I should put the import command? I.e.:
1. In the main script/ipython command line
2. In the called function, i.e. make_half_square_array() in
LR_run_functions_v2.py
3. At the top of LR_run_functions_v2.py, outside of the individual
functions?
The latter. Python's imports are always local to the module/file they
are in, not globally effective.
Diez
--
http://mail.python.org/mailman/listinfo/python-list