【问题标题】:Error importing pymongo in my django app在我的 django 应用程序中导入 pymongo 时出错
【发布时间】:2013-04-03 03:25:30
【问题描述】:

我正在尝试从 django 将文档插入 mongodb,但在 pymongo 的导入语句中出现错误。我在任何地方都没有名为 pymongo 的重复文件,而且我很确定我的 virtualenv 设置正确。

(django-sample-app)ubuntu@django (884) ~ $ python

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 

[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import bson

>>> import pymongo

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/__init__.py", line 80, in <module>
    from pymongo.connection import Connection
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/connection.py", line 39, in <module>
    from pymongo.mongo_client import MongoClient
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 45, in <module>
    from pymongo import (auth,
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/database.py", line 22, in <module>
    from pymongo.collection import Collection
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/collection.py", line 25, in <module>
    from pymongo.cursor import Cursor
  File "/home/ubuntu/.virtualenvs/django-sample-app/local/lib/python2.7/site-packages/pymongo/cursor.py", line 19, in <module>
    from bson import RE_TYPE
ImportError: cannot import name RE_TYPE

【问题讨论】:

  • 你是通过sudo apt-get install python-pymongo安装的吗?
  • 不,我使用了 pip install pymongo。我刚刚尝试使用 sudo apt-get 安装它,并且可以,但现在我无法从 virtualenv 导入它
  • 如果你运行pip freeze,mongo 在那个列表中吗?
  • 嗯,没关系。我是个白痴。它仅在通过 virtualenv 与 apt-get 和 pip 一起安装时才有效。谢谢乔。谢谢你告诉我关于 pip freeze 的事情,这给了我一堆免费的 xp。
  • mongoDB 不适用于 Django。您需要使用 django-nonrel。你能同步数据库吗?你用的是什么版本的django、pymongo、mongodb?

标签: django mongodb pymongo


【解决方案1】:

pip install(在virtualenv 中)pymongobson 之后,这个错误发生在我身上。

卸载 pymongobson 并再次安装 pymongo - 它附带了自己的 bson 版本,与 bson 包不兼容。

https://stackoverflow.com/a/12983651/196206

【讨论】:

    【解决方案2】:

    我已经解决了卸载 pymongo 的问题,并使用以下命令再次安装: python -m pip install pymongo

    【讨论】:

      猜你喜欢
      • 2023-01-04
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多