
Pythonでcurseを使用すると、多くの人が次のエラーメッセージを受け取ります。
Traceback (most recent call last):
File "/home/bertil/anaconda3/bin/vd", line 152, in <module>
main()
File "/home/bertil/anaconda3/bin/vd", line 130, in main
vdtui.run(*sources)
File "/home/bertil/anaconda3/lib/python3.7/site-packages/visidata/vdtui.py", line 2841, in run
ret = wrapper(cursesMain, sheetlist)
File "/home/bertil/anaconda3/lib/python3.7/site-packages/visidata/vdtui.py", line 2831, in wrapper
return curses.wrapper(setupcolors, f, *args)
File "/home/bertil/anaconda3/lib/python3.7/curses/__init__.py", line 73, in wrapper
stdscr = initscr()
File "/home/bertil/anaconda3/lib/python3.7/curses/__init__.py", line 30, in initscr
fd=_sys.__stdout__.fileno())
_curses.error: setupterm: could not find terminal
以下を実行して問題を解決できました。
export TERMINFO=/bin/zsh
export TERM=linux
ただし、新しい端末を開くたびにこれを行う必要があります。これは長期的に非常に迷惑になります。特にvisidata(上記のエラーを引き起こす)のようなツールを頻繁に使用するので、これはさらにそうです。
私はここにいるi3を含むManjaro Linux、私の端末はUrxVT。
export TERM=linux
実際にこの部分だけが必要であることに気づきました。
.profileに追加してみましたが、export TERM=linux
役に立ちませんでした。
.bashrcに追加するとexport TERM=linux
問題は解決しましたが、TERMをデフォルトから変更すると他のものが機能しないのではないかと心配されますrxvt-unicode-256color
。