bsddb を使用して Python で open を呼び出そうとしているだけですが、次のエラーが発生します。何か案が?そうでない場合、デバッグ用のより詳細なエラー メッセージを取得する方法はありますか?詳細情報を取得すると、おそらくもう少し調査するのに役立ちます。詳細のないエラー コードは、確かにあまり役に立ちません。
DBInvalidArgError: (22、「無効な引数」)
ソース:
import bsddb, bsddb.db
...
try:
e = bsddb.db.DBEnv()
e.open('/mydir', bsddb.db.DB_CREATE | bsddb.db.DB_INIT_MPOOL)
...
追加情報: /mydir には DB_CONFIG ファイルがあります:
set_data_dir /mydir/current_data
# 128MB
set_cachesize 0 134217728 1
更新: bsddb および bsddb.db バージョンと関係があるため、ここで何かに取り組んでいると思います:
> $python
> Python 2.5...
> import bsddb, bsddb.db
> print bsddb.__version__, bsddb.db.version()
> 4.4.5 (4, 2, 52)
> bsddb.db.DBEnv().open('/mydir/')
> bsddb.db.DBInvalidArgError: (22, 'Invalid argument')
> $python2.6
> Python 2.6.6...
> import bsddb, bsddb.db
> print bsddb.__version__, bsddb.db.version()
> 4.7.3 (4, 7, 25)
> bsddb.db.DBEnv().open('/mydir/')
>
python2.6で実行してもエラーはありません。