没有pymongo命名空间怎么可能导入bson呢?

How is it possible for bson to be imported without the pymongo namespace?

pymongo 入口状态的 Pypi 入口[1]

The bson package is an implementation of the BSON format for Python

Do not install the “bson” package. PyMongo comes with its own bson package; doing “easy_install bson” installs a third-party package that is incompatible with PyMongo.

但是 pymongo API 文档[2] 显示了 bson 在没有 pymongo 前缀/命名空间的情况下导入的示例,如下所示:

import bson

没有pymongo命名空间怎么可能导入bson?

我原以为 import 语句是 import pymongo.bson 因为引用的 bson 实现是 pymongo 附带的。

[1] https://pypi.python.org/pypi/pymongo/

[2] http://api.mongodb.org/python/3.0.3/api/bson/index.html

因为 pymongo 安装程序安装 bson 包,所以它提供的安装方式与安装 pymongo 包的方式相同。

查看 github,您可以在其中看到两个模块:pymongobsonhttps://github.com/mongodb/mongo-python-driver

setup.py 文件定义:

"packages": ["bson", "pymongo", "gridfs"]

这些是安装在您的 python site-packages/ 目录中的软件包