Это происходит из C-скомпилированного _json.pyd
(или _json.so
, и т. Д., В зависимости от платформы), который живет в другом месте на sys.path
. Вы всегда можете узнать, где это находится в вашей конкретной установке Python, импортировав модуль самостоятельно и посмотрев его __file__
, например ::
>>> import _json
>>> _json.__file__
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_json.so'
Как вы видите, в моей установке Python 2.6, _json
происходит из подкаталога lib-dynload
lib/python2.6
, а расширение, используемое на этой платформе, - .so
.