virtualenvで構築したPython環境でTAB補完を有効化する
2019/01/22
pyvenvで構築したpython環境だとタブ補完されるのですが、virtualenvで構築した環境だとタブ補完が効かず不便。。
対策
.pythonstartupというファイルをホームディレクトリに作成し、virtualenvのactivateファイルでPATHを通す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import readline import rlcompleter import atexit import os readline.parse_and_bind('tab: complete') histfile = os.path.join(os.environ['HOME'], '.pythonhistory') try: readline.read_history_file(histfile) except IOError: pass atexit.register(readline.write_history_file, histfile) del os, histfile, readline, rlcompleter, atexit |
virtualenvで作成したディレクトリの中にあるvenv/bin/activateファイルの最終行に次の一行を追加する。
1 |
export PYTHONSTARTUP=~/.pystartup |
再度、activateを読み込めばタブ補完が使えるようになります。
$ source venv/bin/activate