Python - не удается выполнить скрипт python, который использует pymongo

noober спросил: 13 июня 2018 в 05:32 в: python

Total python noob здесь. Попытка узнать python. Я использую macosx с высоким sierra 10.13.5 и имею python Python 2.7.10. Моя задача здесь - запустить mongodb-запрос с помощью python, но безрезультатно, поскольку я пытаюсь использовать 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

Я получил это же сообщение, запускающее оболочку python с помощью всего лишь import pymongo и запуска скрипта.

Мой скрипт python:

#!/usr/local/bin/pythonimport 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 мне не хватает? Благодарим за помощь.


1 ответ

noober ответил: 13 июня 2018 в 10:53

Учитывая намек на то, что это был не pymongo, а тот факт, что у меня есть несколько версий python, работающих на моем mac. После дальнейших исследований стало яснее, что наличие нескольких версий python может быть проблематичным. Я прочитал эту статью - https://docs.python.org/3/using/mac.html#ide

Мне удалось успешно запустить скрипт python следующим образом:

/usr/bin/python mydev.py

Дополнительное видео по вопросу: Python - не удается выполнить скрипт python, который использует pymongo

006 Как запускать Python программы в Windows

How to run python script (v. 2) / Как запустить программу python

Python and MongoDB - The Complete Guide | Learn to use MongoDB in your Python Application