如何刷新 sys.path?

2022-01-13 00:00:00 python python-2.7 packages reload sys.path

问题描述

我在以用户身份执行脚本的过程中安装了一些软件包.这些包是第一个用户包,所以 python 在脚本运行之前没有将 ~/.local/lib/python2.7/site-packages 添加到 sys.path.我想导入那些已安装的软件包.但我不能,因为它们不在 sys.path 中.

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.

如何刷新 sys.path?

我使用的是 python 2.7.

I'm using python 2.7.


解决方案

如 什么时候用 Python 设置 sys.path,什么时候? sys.path 在内置 site.py 模块的帮助下填充.

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

所以你只需要重新加载它.您不能一步完成,因为您的命名空间中没有 site.总结一下:

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)

就是这样.

相关文章