How to refresh sys.path?

rominf picture rominf · Aug 19, 2014 · Viewed 10.2k times · Source

I've installed some packages during the execution of my script as a user. Those packages were the first user packages, so python didn't add ~/.local/lib/python2.7/site-packages to the sys.path before script run. I want to import those installed packages. But I cannot because they are not in sys.path.

How can I refresh sys.path?

I'm using python 2.7.

Answer

rominf picture rominf · Aug 19, 2014

As explained in What sets up sys.path with Python, and when? sys.path is populated with the help of builtin site.py module.

So you just need to reload it. You cannot it in one step because you don't have site in your namespace. To sum up:

import site
from importlib import reload
reload(site)

That's it.