times.dbm incompatible based on Python version it was created with
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Testrepository |
Triaged
|
Critical
|
Unassigned |
Bug Description
On my deadsnakes [1] python2.6I get can't get my py26 environment to run.
py26 runtests: commands[0] | python setup.py testr --testr-args=
running testr
running=
No module named _bsddb
error: testr failed (3)
ERROR: InvocationError: '/home/
ERROR: py26: commands failed
What seems to be going on is just that using anydbm with the stock system python (py27) is getting dbhash and it works just fine, then when the py26 env loops around and uses anydbm it inspects the db and tries to open it with bsddb even though it's anydbm._defaultmod is dmb (or gdbm w/e depending on the ImportError). I mean it's easy to say deadsnakes is just broken, but it's sort of a great way to get you some python2.6 on an ubuntu system I wonder if you might just work around it by avoiding bsddb explicitly?
I mean, it's easy to get wrong, even macosx has a broken bsddb [2]:
clayg:
2.7.2 (default, Oct 11 2012, 20:14:37)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/System/
import _bsddb
ImportError: No module named _bsddb
I tried to compile python2.6 with myself with "bsddb185 bsddbmodule.c", but it's kind of a chore to get the bsddb-dev 4.0 includes these days cause everything is deprecated :\
Don't tell anyone, but what I ended up doing was just hacking my local system anydb._names to just not look at hashdb, I think other folks just hack hashdb to use bsddb3 [3]
1. https:/
2. http://
3. http://
summary: |
- ImportError _bsddb with deadsnakes python2.6 anydbm + times.dbm incompatible based on Python version it was created with |
You can get a backtrace with
TESTR_PDB=1 testr run