python 如何找到import的包
Python import 时会首先寻找 sys.path 中列出的路径,通常是这样: >>> import sys >>> '\n'.join(sys.path) /usr/lib/python2.7 /usr/lib/python2.7/plat-x86_64-linux-gnu /usr/lib/python2.7/lib-tk /usr/lib/python2.7/lib-old /usr/lib/python2.7/lib-dynload /usr/local/lib/python2.7/dist-packages /usr/lib/python2.7/dist-packages 那么 Python 是如何获取 sys.path 的呢?根据 Python 的文档,首先是当前目录,然后是 PYTHONPATH 环境变量,再之后是安装时设置的默认目录,由 site 模块控制。 Python 在启动的时候会自动引用 site 模块,关于它是如何操作 sys.path 的,可以参考相关文档。 当然,你也可以手动操作 sys.path,这同样会影响会话期间 Python 寻找包的行为。 imp 模块 Python 的 import 流程由 imp 模块 控制,因此我们可以完全自己手动控制库的 import 过程。 使用 imp.find_module 来寻找模块: >>>