19

If I put a *.pth file in site-packages it's giving an ImportError. I'm not getting how to import by creating a *.pth file.

(Refers to importing in python)

Community
  • 1
  • 1
user46646
  • 153,461
  • 44
  • 78
  • 84
  • You should add a link to the original question, http://stackoverflow.com/questions/697281/importing-in-python – itsadok Mar 31 '09 at 07:29
  • 2
    -1: You should provide (1) code, (2) the actual error message, (3) the .pth file you're using. – S.Lott Mar 31 '09 at 12:41

2 Answers2

43

If you put a .pth file in the site-packages directory containing a path, python searches this path for imports. So I have a sth.pth file there that simply contains:

K:\Source\Python\lib

In that directory there are some normal Python modules:

logger.py
fstools.py
...

This allows to directly import these modules from other scripts:

import logger

log = logger.Log()
...
sth
  • 222,467
  • 53
  • 283
  • 367
27
/tmp/$ mkdir test; cd test
/tmp/test/$ mkdir foo; mkdir bar
/tmp/test/$ echo -e "foo\nbar" > foobar.pth
/tmp/test/$ cd ..
/tmp/$ python
Python 2.6 (r26:66714, Feb  3 2009, 20:52:03)
[GCC 4.3.2 [gcc-4_3-branch revision 141291]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import site, sys
>>> site.addsitedir('test')
>>> sys.path[-3:]
['/tmp/test', '/tmp/test/foo', '/tmp/test/bar']
vartec
  • 131,205
  • 36
  • 218
  • 244