pymongo ImportError: cannot import name _unicode

pymongo ImportError: cannot import name _unicode

当我在 virtualenv 中导入 pymongo 时出现此错误。 virtualenv 设置正确。 以前我使用 pymongo 2.8 版。我将它升级到 3.0.3 版本后,我遇到了这个问题。

/usr/local/lib/python2.7/dist-packages/pymongo/collection.py in <module>()
     20 from bson.code import Code
     21 from bson.objectid import ObjectId
---> 22 from bson.py3compat import (_unicode,
     23                             integer_types,
     24                             string_type,

ImportError: cannot import name _unicode
pip uninstall pymongo bson
pip install pymongo --upgrade

_unicodepymongo==2.8 提供的默认 bson 包中不存在(integer_types 也不存在),所以我不确定你从哪里得到的来自.

我建议删除您已安装的 pymongo 和 bson 包,然后重新安装 pymongo 并使用它提供的 bson 包。

在 ubuntu 盒子上 (14.04): sudo apt-get install python-pymongo 那个版本刚刚好