Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #63656

Re: Input Error issues - Windows 7

From Ned Batchelder <ned@nedbatchelder.com>
Subject Re: Input Error issues - Windows 7
Date 2014-01-10 14:48 -0500
References <e49eae5d-0ca8-44e6-a80a-7906b9dad8c0@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.5298.1389383301.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 1/10/14 2:38 PM, bryan.kardisco@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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Input Error issues - Windows 7 bryan.kardisco@gmail.com - 2014-01-10 11:38 -0800
  Re: Input Error issues - Windows 7 Ned Batchelder <ned@nedbatchelder.com> - 2014-01-10 14:48 -0500
  Re: Input Error issues - Windows 7 Dave Angel <davea@davea.name> - 2014-01-10 18:20 -0500

csiph-web