bean-price and python 3.13

94 views
Skip to first unread message

fin

unread,
Jan 28, 2025, 5:18:14 PM1/28/25
to bean...@googlegroups.com
When running my bean-price updater in an environment
set up with python 3.13 i get errors that look like, once i
clear the cache it will then work:

the copy of beanprice i'm using is up to date.


=====
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Traceback (most recent call last):
File "/home/me/env/bc_3.12/bin/bean-price", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 942, in main
args, jobs, entries, dcontext = process_args()
^^^^^^^^^^^^^^
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 864, in process_args
setup_cache(args.cache_filename, args.clear_cache)
File "/home/me/src/github/beancount/beanprice/beanprice/price.py", line 567, in setup_cache
_CACHE = shelve.open(cache_filename, flag=flag)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
=====


if i clear the cache using my 3.12 environment then i can use
bean-price without errors:


(bc_3.12) ~/fin/beancount$ bean-price --clear-cache ledger.bc
(bc_3.12) ~/fin/beancount$ bpa
2025-01-28 price ABBV 174.80999755859375 USD
2025-01-28 price ABT 127.38999938964844 USD
2025-01-28 price AMD 114.16999816894531 USD
2025-01-28 price GWH 5.489999771118164 USD
2025-01-28 price INTC 19.799999237060547 USD
2025-01-28 price PFE 26.75 USD
2025-01-28 price VST 149.63999938964844 USD

(bc_3.12) ~/fin/beancount$ which bean-price
/home/me/env/bc_3.12/bin/bean-price


fin

Stefano Mihai Canta

unread,
Jan 28, 2025, 5:21:30 PM1/28/25
to bean...@googlegroups.com
Hello, 
A defect report has already been opened. The temporary solution is to use --no-cache or something similar.

--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/beancount/3k1o6l-37k.ln1%40anthive.com.

fin

unread,
Jan 28, 2025, 5:35:22 PM1/28/25
to bean...@googlegroups.com
Stefano Mihai Canta wrote:
> --0000000000002dff25062ccb9db7
> Content-Type: text/plain; charset="UTF-8"

ah, ok, thank you! :)

fin


> Hello,
> A defect report has already been opened. The temporary solution is to use
> --no-cache or something similar.
>
> On Tue, Jan 28, 2025, 16:18 fin <f...@anthive.com> wrote:
>
>> When running my bean-price updater in an environment
>> set up with python 3.13 i get errors that look like, once i
>> clear the cache it will then work:
...
Reply all
Reply to author
Forward
0 new messages