在我的 ~/.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()))
关于Python 选项卡完成在交互式控制台中不起作用(Ubuntu 20.04),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67183789/