如何将标签填充添加到Python shell?

当使用python manage.py shell启动一个django应用程序时,我得到一个InteractiveConsole shell – 我可以使用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解释器时,它不提供tab完成。

有人可以告诉我什么django是给我一个交互式控制台,或者我需要做什么来启动一个没有django应用程序的交互式控制台?

我可能已经find了一个办法。

创build一个文件.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 

这似乎工作。

我认为django做了像https://docs.python.org/library/rlcompleter.html

如果你想有一个非常好的交互式解释器,请看http://ipython.scipy.org/

为了logging,这在教程中有介绍: http : //docs.python.org/tutorial/interactive.html

我用ptpython。 https://github.com/jonathanslenders/ptpython/

ptpython是一个很棒的工具autocomplete shell cmd。 安装ptpython是很容易的,使用pip工具

pip安装ppython

而对于django shell,你应该像这样导入django env

import操作系统

os.environ.setdefault(“DJANGO_SETTINGS_MODULE”,“testweb.settings”)

相信我,这是你最好的方式!

它看起来像python3有它的开箱即用!

在Python3中,此function默认启用。 我的系统没有安装模块readline 。 我在曼佳罗。 我没有面对其他Linux发行版(初级,Ubuntu的,薄荷)这个选项卡完成问题。

pip安装模块之后,在导入的时候,抛出了下面的错误 –

ImportError: libncursesw.so.5: cannot open shared object file: No such file or directory

为了解决这个问题,

cd /usr/lib ln -s libncursesw.so libncursesw.so.5

这解决了导入错误。 而且,它也使得python repl中的tab完成没有任何创build/更改.pythonrc.bashrc