[Tutor] function won't import from module
Dick Moores
rdm at rcblue.com
Tue Aug 9 11:35:04 CEST 2005
Alan G wrote at 00:42 8/9/2005:
>Dick,
>
>I can't see a problem but I notice an inconsistency below:
>
>>#testof_cmpSeq.py
>>import mycalc
>
>>which produces:
>>
>>Traceback (most recent call last):
>> File "C:\Python24\MyScripts\testof_cmpSeq.py", line 1, in -toplevel-
>> from mycalc import cmpSeq
>>ImportError: cannot import name cmpSeq
>
>In the code snippet you claim to use import mycalc but the error
>suggests you used 'from mycalc import cmpSeq'.
>
>I don't know which is correct and they should both work, but it might
>be worth checking if it makes a difference.
>
>Also was it a freshj interpreter session or was your interactive
>version of cmpSeq sttill around? Again it shouldn't have been a
>problem but...
>
>>#testof_print_hms
>>import mycalc
>>
>>seconds = 87658
>>mycalc.print_hms(seconds)
>
>Whereas here you are definitely using import mycalc.
>
>Did you do this after adding cmpSeq? If so it would appear that
>Python is happy with the function definition. Did you try calling
>mycalc.cmpSeq in this same session?
>
>Clutching at straws...
>
>Alan G.
Yes, I now see the inconsistencies in my post. But they don't accurately
reflect what I actually did. Sorry. I went back and checked and still got
errors.
I tried deleting a mycalc.pyc that had been created and the problem
cleared up! If I remember correctly, for a while I had moved mycalc.py to
another folder in PYTHONPATH (I had recently learned how to modify
PYTHONPATH in Win XP), and the .pyc was in this folder. Sorry I don't
remember clearly. But what is clear is the problem cleared up immediately
after deleting the .pyc. Does this make sense?
Showing mycalc is OK now:
IDLE 1.1
>>> from mycalc import cmpSeq
>>> a = range(1,1000)
>>> b = range(1,1000)
>>> cmpSeq(a,b)
Sequences are identical, and of length 999
>>> b[500] = 13
>>> cmpSeq(a,b)
sequences first differ at index 500
seq1[500] = 501
seq2[500] = 13
len(seq1) = 999
len(seq2) = 999
Now I'll begin to ponder the suggestions made by Javier Ruere.
Dick
More information about the Tutor
mailing list