安装/升级#

PyMongo 是在 Python Package Index .

警告

不要从pypi安装“bson”包。 PyMongo附带了自己的bson包;执行“pip install bson”或“easy_install bson”将安装与PyMongo不兼容的第三方软件包。

使用pip安装#

我们建议使用 pip 要在所有平台上安装pymongo,请执行以下操作:

$ python3 -m pip install pymongo

要获取pymongo的特定版本:

$ python3 -m pip install pymongo==3.5.1

要使用pip升级:

$ python3 -m pip install --upgrade pymongo

依赖关系#

PyMongo支持CPython3.7+和PyPy3.7+。

必需的依赖项:

支持MongoDB+srv://URI需要 dnspython

可选依赖项:

GSSAPI身份验证需要 pykerberos 关于UNIX或 WinKerberos 在窗户上。正确的依赖项可以与PyMongo一起自动安装:

$ python3 -m pip install "pymongo[gssapi]"

MONGODB-AWS系统 身份验证需要 pymongo-auth-aws ::

$ python3 -m pip install "pymongo[aws]"

OCSP 要求 PyOpenSSLrequestsservice_identity ::

$ python3 -m pip install "pymongo[ocsp]"

使用snappy进行有线协议压缩需要 python-snappy ::

$ python3 -m pip install "pymongo[snappy]"

使用zstandard的有线协议压缩需要 zstandard ::

$ python3 -m pip install "pymongo[zstd]"

客户端字段级加密 需要 pymongocryptpymongo-auth-aws **

$ python3 -m pip install "pymongo[encryption]"

您可以使用以下命令自动安装所有依赖项:

$ python3 -m pip install "pymongo[gssapi,aws,ocsp,snappy,zstd,encryption]"

从源安装#

如果您希望直接从源代码进行安装(即保持在最前沿),请安装C扩展依赖项,然后从GitHub中检查最新源代码并从生成的树中安装驱动程序:

$ git clone https://github.com/mongodb/mongo-python-driver.git pymongo
$ cd pymongo/
$ pip install .

在Unix上从源代码安装#

要在Linux或其他非macOS Unix上构建可选的C扩展,必须安装gnuc编译器(gcc)。根据您的Unix(或Linux发行版)风格,您可能还需要一个python开发包,它为您的python版本提供必要的头文件。软件包名称可能因发行版而异。

Debian和Ubuntu用户应该发出以下命令:

$ sudo apt-get install build-essential python-dev

基于Red Hat的发行版(RHEL、CentOS、Amazon Linux、Oracle Linux、Fedora等)的用户应发出以下命令:

$ sudo yum install gcc python-devel

从macOS/OSX上的源代码安装#

如果你想从源代码安装带有C扩展的PyMongo,你需要命令行开发工具。在现代版本的macOS上,可以通过在终端中运行以下命令来安装它们(位于/Applications/Utilities/):

xcode-select --install

对于旧版本的OSX,您可能需要Xcode。请参阅下面的注释了解各种OSX和Xcode版本。

雪豹(10.6) -具有“UNIX开发支持”的Xcode 3。

雪豹Xcode 4 :OSX 10.6.x附带的Python版本是通用二进制文件。它们支持i386、PPC和x86u64。Xcode4删除了对PPC的支持,如果安装了xcode4,苹果Python版本附带的distutils版本无法构建C扩展。有一个解决办法:

# For some Python builds from python.org
$ env ARCHFLAGS='-arch i386 -arch x86_64' python -m easy_install pymongo

http://bugs.python.org/issue11623 更详细的解释。

Lion (10.7) and newer --可以在从python.org下载的Python3.7+版本上构建PyMongo的C扩展。在所有情况下,Xcode都必须与“Unix Development Support”一起安装。

Xcode 5.1版 :从5.1版开始,Xcode附带的clang版本在遇到无法识别的编译器标志时抛出错误。这可能导致C扩展生成失败,错误类似于:

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

有一些解决办法:

# Apple specified workaround for Xcode 5.1
# easy_install
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install pymongo
# or pip
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pymongo

# Alternative workaround using CFLAGS
# easy_install
$ CFLAGS=-Qunused-arguments easy_install pymongo
# or pip
$ CFLAGS=-Qunused-arguments pip install pymongo

从Windows上的源安装#

如果您想从源代码安装带有C扩展的PyMongo,那么以下要求适用于CPython和ActiveState的ActivePython:

窗口#

安装Visual Studio 2015+。

安装时不使用C扩展#

默认情况下,驱动程序在安装时尝试构建和安装可选的C扩展(用于提高性能)。如果任何扩展未能构建,驱动程序仍将被安装,但会打印警告。

如果您希望安装不带C扩展的PyMongo,即使扩展构建正确,也可以使用命令行选项来完成 pip install **

$ NO_EXT=1 python -m pip install .

安装测试版或候选发布版#

MongoDB,Inc.可能会偶尔标记一个beta或发布候选版本,供社区在最终发布之前进行测试。这些版本不会上载到pypi,但可以在 GitHub tags page . 它们可以通过将标记的完整URL传递给pip::

$ python3 -m pip install https://github.com/mongodb/mongo-python-driver/archive/4.4.0b0.tar.gz