On 1/10/14 2:38 PM, bryan.kardi...@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
--
https://mail.python.org/mailman/listinfo/python-list