On Sun, 5 Mar 2006 23:05:31 -0800 (PST) anushya beauty <[EMAIL PROTECTED]> wrote: > Anybody, please help me to set PYTHONPATH to import > my modules?. Where is sy.path set? > > In some python groups site, to import the user modules, > they explained to create one __init__.py file in my > module directory (this file should include __all__ > variable, which refer to the modules that the user > wants to import). How to set the __all__ var?
PYTHONPATH is an environment variable. You set this however your operating system lets you do handle them. In Linux or Unix with csh/tcsh, this looks like: setenv PYTHONPATH /path/to/python/files in bash/sh it looks like: set PYTHONPATH=/path/to/python/files and I'm sure there's some way to do it in Windows and OS X. sys.path means "the name path in the module sys" So, in order to see that, you need to (from python): >>> import sys >>> sys.path >>> sys.path ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', ...] As you can see, it's a list. You can append to it, or more likely, prepend the directory you need. __all__ is a "magic" variable in the __init__.py (or any module) which you can set to define which names will be imported when you import from that module: If module "foo.py" contains: __all__ = ['a', 'b'] a = 1 b = 2 c = 3 then another module which imports from foo will get a and b, but not c: >>> from foo import * >>> a,b (1, 2) >>> c Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'c' is not defined Meanwhile: __init__.py This is how you make a "package" out of a directory of python modules. Its namespace is the package-wide space. So you can control what modules are loaded with explicit commands, or you can leave it empty and then you will have to do explicit imports of sub-modules: spam/ __init__.py ham.py eggs.py requires explicit imports of ham and eggs modules: >>> import spam >>> import spam.ham >>> import spam.eggs Although these things are all interesting, they are not closely related, and you haven't really said what your problem is, so I don't know which is going to be helpful to you. -- Terry Hancock ([EMAIL PROTECTED]) Anansi Spaceworks http://www.AnansiSpaceworks.com -- http://mail.python.org/mailman/listinfo/python-list