Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Input Error issues - Windows 7

15 views
Skip to first unread message

bryan.k...@gmail.com

unread,
Jan 10, 2014, 2:38:32 PM1/10/14
to
I'm new to python and am trying to just get some basic stuff up and going.

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?

Ned Batchelder

unread,
Jan 10, 2014, 2:48:10 PM1/10/14
to pytho...@python.org
On 1/10/14 2:38 PM, bryan.k...@gmail.com wrote:
> I'm new to python and am trying to just get some basic stuff up and going.

Welcome!
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

Dave Angel

unread,
Jan 10, 2014, 6:20:32 PM1/10/14
to pytho...@python.org
On Fri, 10 Jan 2014 11:38:32 -0800 (PST), bryan.k...@gmail.com
wrote:
> 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():

Ned has pointed out your path problem. But you have another,
perhaps caused by overexposure to java. You have a package, a module
and a class, all with the same name. Convention says at least
uppercase for the class. I say make every name unique till you learn
how they work.

--
DaveA

0 new messages