问题:如何将制表符完成添加到Python Shell?
使用启动django应用程序时python manage.py shell
,我得到一个InteractiveConsole shell-我可以使用制表符补全等。
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应用程序的交互式控制台?
回答 0
我可能已经找到了一种方法。
创建一个文件.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
这似乎有效。
回答 1
我认为django的功能类似于https://docs.python.org/library/rlcompleter.html
如果您想拥有一个非常好的交互式解释器,请查看 IPython。
回答 2
为了便于记录,本教程将对此进行介绍:http : //docs.python.org/tutorial/interactive.html
回答 3
我使用ptpython。 https://github.com/jonathanslenders/ptpython/
ptpython是一个很棒的工具自动完成外壳cmd。安装ptpython非常简单,使用pip工具
pip安装ptpython
对于django shell,应该像这样导入django env
导入操作系统
os.environ.setdefault(“ DJANGO_SETTINGS_MODULE”,“ testweb.settings”)
相信我,这是最好的方式!!!
回答 4
修复Windows10 Shell:
- 点安装pyreadline
- 点安装ipython [shell]
回答 5
看起来python3开箱即用!
回答 6
在Python3中,默认情况下启用此功能。我的系统未readline
安装模块。我在Manjaro。我没有在其他Linux发行版(基本版,Ubuntu版,mint版)上遇到此制表符完成问题。
后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中的制表符完成,而没有对.pythonrc
and的任何创建/更改.bashrc
。
回答 7
是。它内置于3.6。
fernanr @ gnuruwi〜$ python3.6 Python 3.6.3(默认,Apr 10 2019,14:37:36)[Linux上的GCC 4.8.5 20150623(Red Hat 4.8.5-16)]键入“ help”,“ copyright ”,“信用”或“许可证”以获取更多信息。
导入操作系统。显示所有318种可能性?(y或n)os.CLD_CONTINUED os.O_RDONLY os.ST_NOEXEC os.environ os.getpid(os.readlink(os.spawnvpe(os.CLD_DUMPED os.O_RDWR os.ST_NOSUID os.environb os.getppid(os.getppid( .st
回答 8
对于旧版本(2.x),上述脚本的工作方式类似于charm :)
fernanr@crsatx4 ~ $ cat .bashrc | grep -i python
#Tab completion for python shell
export PYTHONSTARTUP=~/.pythonrc
fernanr@crsatx4 ~ $ . ~/.bashrc
fernanr@crsatx4 ~ $ echo $?
0
fernanr@crsatx4 ~ $ python2
Python 2.7.5 (default, Jun 11 2019, 14:33:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.
Display all 249 possibilities? (y or n)
os.EX_CANTCREAT os.O_WRONLY