【问题标题】:python - unable to execute python script that uses pymongopython - 无法执行使用 pymongo 的 python 脚本
【发布时间】:2018-12-15 23:56:41
【问题描述】:

这里的总蟒蛇菜鸟。尝试学习python。我正在使用具有高山脉10.13.5 的macosx 并拥有python Python 2.7.10。我的任务是使用 python 运行 mongodb 查询,但无济于事,因为我试图使用pymongo

这是我看到的消息:(在命令行python mydev.py 上执行)

  File "mydev.py", line 3, in <module>
    import pymongo
  File "/usr/local/lib/python2.7/site-packages/pymongo/__init__.py", line 77, in <module>
    from pymongo.collection import ReturnDocument
  File "/usr/local/lib/python2.7/site-packages/pymongo/collection.py", line 20, in <module>
    from bson.code import Code
  File "/usr/local/lib/python2.7/site-packages/bson/__init__.py", line 84, in <module>
    from bson.dbref import DBRef
  File "/usr/local/lib/python2.7/site-packages/bson/dbref.py", line 17, in <module>
    from copy import deepcopy
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in <module>
    import weakref
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

我只用import pymongo 运行python shell 并运行脚本得到了同样的消息。

我的python脚本:

#!/usr/local/bin/python

import pymongo
import json
from pymongo import MongoClient

# DB connect
client = MongoClient('10.1.2.345')
db = client.test
collection = db.my_profiles

# Read
print collection.find_one({"account" : "foo", "profile" : "bar", "info.published" : True}, {"account":1, "profile":1,"settings.region":1})

所以,我不知道如何让它工作。我错过了什么 pkgs?感谢您的帮助。

【问题讨论】:

  • 你还需要添加端口号
  • 我在运行 python shell 并使用 &gt;&gt;&gt; import pymongo 时收到了相同的错误消息
  • 您有一个混乱的 Python 路径,并且正在从错误的 Python 版本导入模块。基本上,这就是你:xkcd.com/1987 你需要确定你实际运行的是哪个 Python 以及它来自哪里,并确保你运行的是那个 Python,并且只有那个 Python,而 sys.path 上没有任何其他条目。它与 pymongo 没有任何关系。
  • 天哪,有关于如何清理它的文档吗?

标签: python python-2.7 pymongo


【解决方案1】:

提示不是 pymongo,而是我的 mac 上运行了多个版本的 python。经过更多研究后,更清楚的是,拥有多个版本的 python 可能会出现问题。我读了这篇文章-https://docs.python.org/3/using/mac.html#ide

我能够像这样成功运行 python 脚本:

/usr/bin/python mydev.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多