Input Error issues - Windows 7

Ned Batchelder ned at nedbatchelder.com
Fri Jan 10 14:48:10 EST 2014


On 1/10/14 2:38 PM, bryan.kardisco at gmail.com wrote:
> I'm new to python and am trying to just get some basic stuff up and going.

Welcome!

>
> I have a very basic module called foo
>
> It's in the following directory on my machine
>
> C:\workspace\PyFoo\src\foo
> In that folder is __init__.py (created automatically)  and foo.py
>
> foo.py looks like this
>
> class foo():
>      def __init__(self, name, number):
>          self.name = name
>          self.number = number
>      def getName(self):
>          return self.name
>      def getNumber(self):
>          return self.number
>
>
> If I open up command prompt and do following it works:
>
> C:\workspace\PyFoo\src\foo>python
> Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> from foo import foo
>>>> f = foo(1,2)
>>>> f.getName()
> 1
>>>>
>
>
> However, if I run this from C:\ I get the following
>
> C:\>python
> Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> from foo import foo
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
> ImportError: No module named 'foo'
>>>>
>
>
> I thought, well maybe it's a system error
>
>>>> import sys
>>>> print(sys.path)
> ['', 'C:\\Python33', 'C:\\Python33\\Lib', 'C:\\Python33\\DLLs', 'C:\\workspace', 'C:\\Windows\\system32\\python33.zip',
>   'C:\\Python33\\lib\\site-packages']
>>>>
>
> C:\>echo %PYTHONPATH%
> C:\Python33;C:\Python33\Lib;C:\Python33\DLLs;C:\workspace
>
> However, that seems OK.
>
> Is there something I'm missing?
>

The PYTHONPATH contains the directories that will be searched for 
modules and packages.  Your package is called foo, and is in 
c:\workspace\PyFoo\src.  That directory is not on the Python path, and 
it isn't the current directory.  Therefore, your package can't be found 
and imported.

BTW: writting getters like getName and getNumber is unusual in Python. 
The much more common technique is to simply use the attribute:  f.name

-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list