2024/02/26 追記
2/24リリースから改善されたので、下記の対応は不要になりました。
Release 20240224 · indygreg/python-build-standalone · GitHub
Rework of the terminfo database on Linux distributions. ncurses now looks for the terminfo database in /etc/terminfo, /lib/terminfo, and /usr/share/terminfo by default. This should result in the terminfo database being found on many popular Linux distributions, including Debian and RedHat variants. Read: the Python REPL should respond to key presses like backspace properly. In addition, the distribution archive contains a copy of the terminfo database in python/install/usr/share/terminfo. However, this terminfo database won't be used automatically at runtime unless custom code is run to point ncurses at it. See the documentation for more.
Ubuntuでryeを使っていると、タイトルの通りtermcap databaseが見つからないというエラーが発生する。
methane@skyland:~$ /home/methane/.rye/py/cpython@3.11.7/install/bin/python3 Cannot read termcap database; using dumb terminal settings. Python 3.11.7 (main, Jan 8 2024, 05:55:31) [Clang 17.0.6 ] on linux Type "help", "copyright", "credits" or "license" for more information. >>> ^D
ryeはpython-build-standaloneからpython処理系をダウンロードして使用しているのだけれども、このバイナリがデフォルトで見にいくtermcap databaseの場所がUbuntuと異なるからこのエラーが発生しているらしい。この状態ではいくつかのキーが使えなくなってしまう。
この問題については次のページで説明されていた。
Debian/Ubuntuの場合であれば、 ~/.profile
か ~/.bashrc
などに次のように追記して環境変数でtermcap databaseの場所を教えてやるといい。
export TERMINFO_DIRS=/etc/terminfo:/lib/terminfo:/usr/share/terminfo