Ming 0.3.2安装和进口但崩溃

时间:2012-08-23 08:52:28

标签: mongodb odm ming

安装Ming 0.3.2后,我通过运行以下代码测试了安装:

>>> from ming.datastore import DataStore
>>> bind = DataStore('mongodb://localhost:27017/', database='tutorial')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'database'
>>> ^D

我查看了安装文件,在datastore.py文件中,我发现该类的构造函数不包含“数据库”参数。

class DataStore(object):

    def __init__(self, bind, name, authenticate=None):
        self.bind = bind
        self.name = name
        self._authenticate = authenticate
        self._db = None

然后我安装了Ming 0.3.0来查看datastore.py文件,发现DataStore类与文档(它包含一个数据库arg)相匹配,然后尝试了那个我遇到其他复杂情况的版本。

我使用easy_install来安装Ming,我安装了很好的mongodb和pymongo。我在OS X Lion上运行这些。任何关于让Ming跑步的建议都会受到赞赏。

3 个答案:

答案 0 :(得分:2)

我认为最新版本的pymongo和ming可能存在冲突。

bind = DataStore('mongodb:// localhost:27017 /',name ='test')让我更进一步,但我最终只是单独使用pymongo。

答案 1 :(得分:2)

我遇到了同样的问题。以下是我尝试过的步骤,它的确有效!希望它也适用于您的环境。

  1. 通过以下方式卸载Ming 0.3.2版本: pip uninstall Ming

  2. pip install -Iv http://downloads.sourceforge.net/project/merciless/0.3.0/Ming-0.3.0.tar.gz

  3. 安装0.3.0
  4. 再次尝试明办公室网站上的示例。会有另一个错误

      

    追踪(最近的呼叫最后):
             文件“tutorial.py”,第1行,在&lt; module&gt;中             来自ming.datastore导入DataStore

             在&lt; module&gt;中输入文件“/home/me/work/deploy/test/local/lib/python2.7/site-packages/ming/init.py”,第3行。             从会话导入会话

             在&lt; module&gt;中输入文件“/home/me/work/deploy/test/local/lib/python2.7/site-packages/ming/session.py”,第7行。             来自pymongo.son进口SON

             ImportError:没有名为son的模块

  5. 将“/home/me/work/deploy/test/local/lib/python2.7/site-packages/ming/session.py”的第7行更改为from bson.son import SON

  6. 再试一次。它会起作用。

  7. 这是我引用的链接。这是一个日本网页,但您可以通过谷歌翻译将其翻译成英文。 http://ryooo321.blogspot.com/2012/05/macsleepymongoose.html

答案 2 :(得分:0)

尝试删除database=

In [8]: from ming.datastore import DataStore

In [9]: bind = DataStore('mongodb://grid:27017/', 'tutorial')

In [10]: bind.name
Out[10]: 'tutorial'