【发布时间】:2019-03-23 17:23:07
【问题描述】:
我正在研究python如何加载模块。
我从加载urllib3的requests开始。
我找到了those line:
from .packages.six.moves.http_client import (
IncompleteRead as httplib_IncompleteRead
)
在名为src/urllib3/exceptions.py的文件中
那个导入是一个相对的,所以我正在寻找文件夹src/urllib3/packages/six/moves/http_client.py 或src/urllib3/packages/six/moves/http_client/__init__.py
那些文件不存在。
谢天谢地 src/urllib3/packages/six.py 定义了一个新的模块加载器,因此导入 .packages.six.moves.http_client 需要 http_client 核心 python 模块。
但我不明白src/urllib3/packages/six.py 是如何加载的。
我没有找到那种导入。
有没有办法知道哪个模块直接加载src/urllib3/packages/six.py?
我已按照建议 here 尝试使用 __name__ 全局变量。它的值为urllib3.packages.six,但urllib3.packages 不会加载该文件。
【问题讨论】:
标签: python python-import