80

In ruby the library path is provided in $:, in perl it's in @INC - how do you get the list of paths that Python searches for modules when you do an import?

Ken Williams
  • 21,252
  • 9
  • 77
  • 138
Kyle Burton
  • 26,000
  • 9
  • 49
  • 60
  • 2
    In Ruby I think you meant `$:`. `$"` is a list of modules loaded by `require`. – docwhat Oct 09 '11 at 16:57
  • 1
    You might want to take a look at my answer and others to this related question here: https://stackoverflow.com/a/38485710/436794 – Pierz Jan 10 '18 at 16:43

4 Answers4

115

You can also make additions to this path with the PYTHONPATH environment variable at runtime, in addition to:

import sys
sys.path.append('/home/user/python-libs')
Dasvid
  • 43
  • 4
apg
  • 2,581
  • 1
  • 17
  • 18
92

I think you're looking for sys.path

import sys
print (sys.path)
kuilin
  • 119
  • 1
  • 7
Jack M.
  • 27,592
  • 6
  • 52
  • 67
10
import sys
sys.path
John Millikin
  • 191,086
  • 39
  • 207
  • 222
2
python -c "import sys; print('\n'.join(sys.path))"


/usr/local/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python39.zip
/usr/local/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/usr/local/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload
/usr/local/lib/python3.9/site-packages
CodeFarmer
  • 2,518
  • 20
  • 31