如何为Python shell添加标签补全?
当我用 python manage.py shell
启动一个 Django 应用时,我会得到一个互动控制台——我可以使用 Tab 键来补全命令等等。
Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
但是如果我只是用 python
启动一个 Python 解释器,它就没有这个补全功能。
有人能告诉我 Django 是怎么做到让控制台变得互动的吗?或者我该怎么做才能在没有 Django 应用的情况下启动一个互动控制台呢?
8 个回答
27
为了说明这一点,这在教程中有讲解: http://docs.python.org/tutorial/interactive.html
234
我可能找到了一种方法来实现这个。
首先,创建一个名为 .pythonrc 的文件。
# ~/.pythonrc
# enable syntax completion
try:
import readline
except ImportError:
print("Module readline not available.")
else:
import rlcompleter
readline.parse_and_bind("tab: complete")
然后在你的 .bashrc 文件中,添加以下内容:
export PYTHONSTARTUP=~/.pythonrc
这样做似乎有效。