Short VersionSollte Pymongo ein Modul objectid haben?
Nach einem frisch von Kolben installieren und mongoalchemy die beiden Linien:
from flask import Flask
from flask.ext.mongoalchemy import MongoAlchemy
mit fehlschlagen:
ImportError: No module named objectid
Wo soll ich schauen?
Einzelheiten
Auf El Capitan nach:
> sudo port install py27-flask py27-flask-mongoalchemy
bestätige, dass ich die Versionen, die MacPorts installiert hat:
> port installed | grep 'flask\|mongo'
py27-flask @0.10.1_1 (active)
py27-flask-mongoalchemy @0.5.3_0 (active)
py27-flask-script @2.0.5_0 (active)
py27-mongoalchemy @0.11_0 (active)
py27-pymongo @3.2.2_0 (active)
, dass ich die MacPorts Python renne:
> which python
/opt/local/bin/python
und dass es die letzte auf dem 2,7 Zweig:
> python --version
Python 2.7.11
Aber dann die sehr zweite Zeile auf this Seite:
from flask import Flask
from flask.ext.mongoalchemy import MongoAlchemy
nicht mit:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flask/exthook.py", line 81, in load_module
reraise(exc_type, exc_value, tb.tb_next)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flaskext/mongoalchemy/__init__.py", line 14, in <module>
from mongoalchemy import document, exceptions, fields, session, query
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mongoalchemy/document.py", line 45, in <module>
from mongoalchemy.fields import ObjectIdField, Field, BadValueException, SCALAR_MODIFIERS
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mongoalchemy/fields.py", line 60, in <module>
from pymongo.objectid import ObjectId
ImportError: No module named objectid
Sollte pymongo habe ein Modul objectid?
Die bisherigen Diskussionen von einem ähnlichen Problem sind (1, 2, 3, 4) irrelevant.
bearbeiten
Hmm ... mongodb
selbst wurde nicht als Abhängigkeit von Kolben-mongoalchemy installiert. OK, machen wir es manuell:
> port list | grep mongodb
mongodb @3.2.4 databases/mongodb
> sudo port install mongodb
Das hilft nicht. Derselbe Fehler erscheint.
Pymongo der erforderlichen 'bson' Paket ist in und auch in [' pymongo'] (http importiert://api.mongodb.org/python/1.7/api/pymongo/objectid.html) Paket.Sieht so aus, als ob Ihnen einige Importe fehlen. Das ist [mongoalchemy] (http://www.mongoalchemy.org/). Ihre Installation könnte einige Probleme haben. –
Möchten Sie klären? Die Website verwendet "from kolb.ext.mongoalchemy Import MongoAlchemy". Es verwendet nicht bson. https://github.com/cobrateam/flask-mongoalchemy/blob/master/examples/library/library.py aber – Calaf
Wie hast du das 'MongoAlchemy' Modul" installiert "? Der Fehler weist darauf hin, dass die erforderlichen Abhängigkeiten nicht installiert sind. –