python package confusion
Dave Angel
d at davea.name
Mon Jul 23 06:19:26 EDT 2012
On 07/23/2012 06:02 AM, Lipska the Kat wrote:
> Hello again pythoners
>
> I'm trying to understand the python package stuff
>
> I have the following directory
>
> /home/lipska/python/dev/mods
>
> In this directory I have two files, both executable
>
> ----------------------
>
> #! /usr/bin/env python3.2
>
> # fibo.py Fibonacci numbers module
>
> def fib(n): # write Fibonacci series up to n
> a, b = 0, 1
> while b < n:
> print(b, end=' ')
> a, b = b, a+b
> print()
>
> ----------------------
>
> #! /usr/bin/env python3.2
>
> # test.py fibo module test program
>
> import fibo
>
> fibo.fib(1000)
>
> -----------------------
>
> The PYTHONPATH ev is set to /home/lipska/python/dev/mods:.
> in .bashrc
>
> The following interactive session works thusly
>
> lipska at ubuntu:~/python/dev/mods$ python3.2
> Python 3.2.3 (default, Jul 17 2012, 14:23:10)
> [GCC 4.6.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import fibo
> >>> fibo.fib(1000)
> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
> >>>
>
> However if I try and run test.py as an executable I get the following
> error
>
> lipska at ubuntu:~/python/dev/mods$ test.py
> Traceback (most recent call last):
> File "./test.py", line 5, in <module>
> fib(1000)
> NameError: name 'fib' is not defined
>
That line isn't the way you showed it in the source. You showed us
source as fibo.fib(1000), and the error message shows it as fib(1000)
So you're either cutting & pasting wrong, or you have two test.py files.
--
DaveA
More information about the Python-list
mailing list