繁体   English   中英

Python 选项卡完成在交互式控制台中不起作用(Ubuntu 20.04)

[英]Python tab-completion not working in interactive console (Ubuntu 20.04)

在我的~/.bashrc我有以下行来设置PYTHONSTARTUP环境变量:

export PYTHONSTARTUP=~/.pythonrc.py

~/.pythonrc.py 的内容:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    print("TAB-COMPLETE LOADED.")
    import rlcompleter
    readline.parse_and_bind("tab: complete")

刚跑的时候

python3

在终端中,将打印消息“TAB-COMPLETE LOADED”,并且 tab-complete 在变量上按预期工作,但是当通过以下文件运行时

python3 example.py

它不起作用。 未打印预期的消息,它只是在按下制表符时插入一个制表符。 无论变量是在控制台还是文件中声明,它的行为都是相同的。

例子.py:

test_variable = 123
import code; code.interact(local=dict(globals(), **locals()))

我不知道为什么我的pythonrc.py会为前者而不是后者加载。 一些帮助将不胜感激。

一种解决方法而不是答案,但对许多人来说可能已经足够了。

将 example.py 更改为:

import readline
import rlcompleter
readline.parse_and_bind("tab: complete")

test_variable = 123
import code; code.interact(local=dict(globals(), **locals()))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM