global name 'self' is not defined

Evan evanmason at gmail.com
Mon Dec 4 07:25:29 EST 2006


The problem seems to be with ipython, which I have been using to run
these scripts.  My calling script (call.py) is:

import canaryPlaces_test as canp

sum=canp.addme(3,5)
print sum
estoc=canp.estocStn()
print estoc



The problem script is this one, named canaryPlaces_test.py:

def estocStn():
       estoc={'lat':29.15,'lon':-15.667,'place':'ESTOC'}
       return estoc

def addme(a,b):
       sumAb=a+b
       return sumAb



The ok script, named canaryPlaces.py, is identical apart from a comment
at the top of one of them.  Here is output from 'diff' for the two of
them:

@suse212:~/python/mapping> diff canaryPlaces_test.py canaryPlaces.py
1c1
<
---
> # canaryPlaces
evan at suse212:~/python/mapping>



>From the command line I get what I expect calling either
canaryPlaces_test.py or canaryPlaces.py:

@suse212:~/python/mapping> python call.py
8
{'lat': 29.149999999999999, 'place': 'ESTOC', 'lon': -15.667}
evan at suse212:~/python/mapping>



However -> Using ipython and calling canaryPlaces.py is fine, but
calling canaryPlaces_test.py gives:

In [97]: %run call
8
---------------------------------------------------------------------------
exceptions.NameError                                 Traceback (most
recent call last)

/home/evan/python/mapping/call.py
      2
      3 sum=canp.addme(3,5)
      4 print sum
----> 5 estoc=canp.estocStn()
      6 print estoc
/home/evan/python/mapping/canaryPlaces_test.py in estocStn()
      5        return estoc
      6
      7 def addme(a,b):
      8        sumAb=a+b
      9        return sumAb
NameError: global name 'self' is not defined
WARNING: Failure executing file: <call.py>

In [98]:


On my system this error is repeatable.

-Evan








Bjoern Schliessmann wrote:
> Evan wrote:
>
> > So I have deleted the 'old' script2 and renamed the new one, and
> > no problem.
>
> Pity. Next time try using diff (or something similar).
>
> Regards,
>
>
> Björn
>
> --
> BOFH excuse #115:
> 
> your keyboard's space bar is generating spurious keycodes.




More information about the Python-list mailing list