2016-04-06 13 views
-2

ショートバージョンpymongoにモジュールのobjectidを付ける必要がありますか?</p> <pre><code>from flask import Flask from flask.ext.mongoalchemy import MongoAlchemy </code></pre> <p>がで失敗:新鮮なフラスコのインストールと二行mongoalchemy後

ImportError: No module named objectid 

私はなっているはずですか?エル・キャピタンで

詳細

後:

> 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) 

私はMacPortsのPythonのを実行している:

> sudo port install py27-flask py27-flask-mongoalchemy 

私はMacPortsのがインストールされているバージョンを確認します

> which python 
/opt/local/bin/python 

、それは2.7ブランチの最新だと:

> python --version 
Python 2.7.11 

しかし、その後thisページで非常に二行目:

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 

するpymongo必要があります。

from flask import Flask 
from flask.ext.mongoalchemy import MongoAlchemy 

がで失敗オブジェクトIDを持っていますか?

同様の問題(1234)の前の議論は無関係です。

編集

うーん... mongodb自体はフラスコ-mongoalchemyの依存関係としてインストールされていません。はい、手動でやりましょう:

> port list | grep mongodb 
mongodb      @3.2.4   databases/mongodb 
> sudo port install mongodb 

これは役に立ちません。同じエラーが表示されます。

+0

:/ /api.mongodb.org/python/1.7/api/pymongo/objectid.html)パッケージ。あなたがいくつかの輸入品を見逃しているように見えます。とにかくこれは[mongoalchemy](http://www.mongoalchemy.org/)です。インストールにはいくつかの問題があります。 –

+0

あなたは明確にしてもよろしいですか?このウェブサイトは "flask.ext.mongoalchemy import MongoAlchemy"を使用しています。それはbsonを使用しません。 https://github.com/cobrateam/flask-mongoalchemy/blob/master/examples/library/library.pyしかし – Calaf

+0

'MongoAlchemy'モジュールはどうやって"インストール "しましたか?このエラーは、必要な依存関係がインストールされていないことを示唆しています。 –

答えて

1

あなたは古いmongoalchemyを持っています。

はコミット "パッケージの代わりに、非推奨(除去)pymongoものをBSON使用" を参照してください:https://github.com/jeffjenkins/MongoAlchemy/commit/9152d83a8515fd557b2d90fb0059fa42a24730fe

はたぶん、あなたは、PythonモジュールでMacPortsのを信用してはいけません。

編集:私はポートはもはやMacPortsのに維持されて見えない

https://www.macports.org/ports.php?by=name&substr=mongoalchemy

Pymongoが必要な `bson`パッケージにしても、[` pymongo`](HTTPで輸入ん
+0

ニースキャッチ。 2012年以降もそうです。 OS Xをお使いの場合は、セット全体をインストールする方法をお勧めします。私はちょうど自家製をインストールしました。私はbrewを使ってmongodbをインストールすることができましたが、Brewはフラスコもmongoalchemyも知っていません。 – Calaf

+0

ご協力ありがとうございます。 virtualenvは問題を解決しました。奇妙なことに、virtualenv自体は、(AFAICT)すべてのモジュールとともに、MacPortsから来ましたが、動作する限り... – Calaf

関連する問題

 関連する問題