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

标签 python terminal ubuntu-20.04 tab-completion

在我的 ~/.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/

相关文章:

python - py.test 每个装置进行多个测试

python - 为 python 安装 numba

terminal - 在 mac 上安装 Oh-My-Zsh 后找不到某些命令

python - 无法加载tensorflow

node.js - 无法在 Ubuntu 20 上安装 'node-sass'

python - 在应用程序中实现聊天?

python - 使用 Chardet 查找超大文件的编码

makefile - 在 macbook pro 上制作 yolo/"cuda_runtime.h"

ubuntu - 在安装 Ubuntu 20.04 时检测文件系统需要很长时间

ubuntu - 如何将 1920x1200 分辨率添加到 Ubuntu 20.04