[pybsddb] bsddb.db.DBNoSuchFileError on DBEnv.open

solsTiCe d'Hiver solstice.dhiver at gmail.com
Sun Aug 29 16:05:07 CEST 2010


hi.
First issue
================
I am trying to open (create) a new environment with

from bsddb import db
env = db.DBEnv(db.DB_CREATE|db.DB_INIT_MPOOL)
env.open('.db4')

and this fails with:
Traceback (most recent call last):
  File "t.py", line 3, in <module>
    env.open('.db4')
bsddb.db.DBNoSuchFileError: (2, 'No such file or directory')

It must be something obvious I am not seeing now. 
Note: I have a directory named .db4
Also specifying it by absolute path change nothing
I tried with None as db_home, it's the same

I use python 2.6.5 with a patch to fix issue #6949
http://bugs.python.org/issue6949
you could look at the patch here http://pastebin.com/Xhpd3Csv

I tried without the patch.
I tried python 2.6.6 with and without the patch

I, then, updraded to db 4.8.30 (from 4.8.26)

I then tried bsddb3-5.0.0 with
from bsddb3 import db
env = db.DBEnv(db.DB_CREATE|db.DB_INIT_MPOOL)
env.open('.db4')

and still get the same problem

Second Issue
================
also in the doc, DBEnv() is said to accept flags keyword but in effect
you can't use it because you get TypeError: DBEnv() takes no keyword
arguments
so either the doc is incorrect
http://www.jcea.es/programacion/pybsddb_doc/dbenv.html#dbenv-methods
or the implementation is wrong

also DBEnv.open() is also said to accept flags keyword but you get the
same error if you use flags keyword




More information about the pybsddb mailing list