dbm 35资源在OSX python 2.7上暂时不可用

时间:2016-05-20 19:38:18

标签: python macos flask

我正在使用Flask-WeRobot插件,我发现此处出现错误:

class FileStorage(SessionStorage):
    """
    FileStorage 会把你的 Session 数据以 dbm 形式储存在文件中。

    :param filename: 文件名, 默认为 ``werobot_session``
    """
    def __init__(self, filename='werobot_session'):
        print filename
        try:
          self.db = dbm.open(filename, "c")
        except Exception, e:
          print e
          raise e

这是输出的内容:

Traceback (most recent call last):
  File "application.py", line 18, in <module>
    another_robot = WeRoBot(token='abcdefg', enable_session=True)
  File "/Users/vng/Dropbox/Code/Paw/venv/lib/python2.7/site-packages/flask_werobot.py", line 42, in __init__
    super(WeRoBot, self).__init__(*args, **kwargs)
  File "/Users/vng/Dropbox/Code/Paw/venv/lib/python2.7/site-packages/werobot/robot.py", line 47, in __init__
    filename=os.path.abspath("werobot_session")
  File "/Users/vng/Dropbox/Code/Paw/venv/lib/python2.7/site-packages/werobot/session/filestorage.py", line 20, in __init__
    self.db = dbm.open(filename, "c")
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/anydbm.py", line 85, in open
    return mod.open(file, flag, mode)
gdbm.error: (35, 'Resource temporarily unavailable')

起初我认为它与权限有关,但更改文件werobot_session没有用。

我在OSX上运行python 2.7。此代码在我的ubuntu生产服务器上运行

任何想法导致了什么?

1 个答案:

答案 0 :(得分:0)

我们也发现了这个错误,我们现在正在研究它 它似乎是gdbm的一个bug。在Linux上一切正常 您可以查看此问题以获取更多信息 https://github.com/whtsky/WeRoBot/issues/102