python - Tab在python 3.6上不起作用,在Windows上的3.5、3.6 32位版本中起作用

标签 python cmd

我的电脑上安装了一些python版本。在windows命令提示符中键入py时启动的默认值为:
win32上的Python 3.6.4(v3.6.4:d48eceb,2017年12月19日,06:54:40)[MSC v.1900 64位(AMD64)]
当我点击tab键时,我得到这个错误:
回溯(最近的最后一次调用):文件
“C:\Users\User\AppData\Local\Programs\Python36\lib\site packages\pyradline\console\console.py”,
第768行,在hook_wrapper_23中
res=ensure_str(readline_hook(prompt))文件“C:\用户\应用程序数据\本地\程序\ Python36\lib\site packages\pyradline\rlmain.py”,
第571行,在readline中
self._readline_from_keyboard()File“C:\用户\应用程序数据\本地\程序\ Python\Python36\lib\site packages\pyradline\rlmain.py”,
第536行,从键盘输入readline
如果self,
第556行,从eyboard民意测验中读取
result=self.mode.process_keyevent(event.keyinfo)文件“C:\Users\User\AppData\Local\Programs\Python36\lib\site packages\pyradline\modes\emacs.py”,
243行,进程中的密钥事件
r=self.process_keyevent_queue-1文件“C:\用户\User\AppData\Local\Programs\Python36\lib\site packages\pyradline\modes\emacs.py”,
286行,in_process_keyevent
r=dispatch_func(keyinfo)文件“C:\用户\应用程序数据\本地\程序\ Python\Python36\lib\site packages\pyradline\modes\basemode.py”,
第257行,完整
completions=self.\u get_completions()文件“C:\Users\User\AppData\Local\Programs\Python36\lib\site packages\pyradline\modes\basemode.py”,
第200行,完成
r=self.completer(确保unicode(文本),i)文件“C:\用户\用户\应用程序数据\本地\程序\ Python36\lib\rlcompleter.py”,
第80行,完整
readline.redisplay()属性错误:模块“readline”没有属性“redisplay”
当我启动不同的python版本时,不会出现同样的错误。
C:\Users\User\AppData\Local\Programs\Python\Python36-32>Python.exe
蟒蛇3.6.4(v3.6.4:d48eceb,2017年12月19日,06:04:45)[MSC v.1900 32
在win32上输入“帮助”、“版权”、“信用”或“许可证”
更多信息。
>>>
怎么回事?我希望能够在我的普通python版本中再次使用tab。任何帮助都将不胜感激!

最佳答案

Windows 10测试解决方案
最初的帖子是there
📋复制上次回溯文件路径C:\Users\User\AppData\Local\Programs\Python\Python36\lib\rlcompleter.py
用任何文本编辑器打开
如果有VsCode,请使用cmd并复制此👇
code C:\Users\User\AppData\Local\Programs\Python\Python36\lib\rlcompleter.py
👀看看回溯告诉我们的
如下图所示改变这些线路(开始line 80),它就会工作

...
if _readline_available:                     ## The old one is ##
    if hasattr(readline, 'redisplay'):      # if _readline_available:
        readline.insert_text('\t')          #     readline.insert_text('\t')
        readline.redisplay()                #     readline.redisplay()
    return ''                               # return ''
...

⚠不要忘记重新启动python终端

关于python - Tab在python 3.6上不起作用,在Windows上的3.5、3.6 32位版本中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48727386/

相关文章:

python - 通过 SSH 在后台执行远程 python 脚本

python - 禁用从 GUI (PyQt) 打开 cmd

gradle - 无法使用Gradle构建Git项目

batch-file - 在批处理文件中获取原始参数或命令

python - 如何从 IronPython 更新 WPF DataGrid 一行的值?

python - Django - 在基于类的 View 中从另一个调用一个类方法

python - 使用 ssh 连接到远程服务器时 paramiko.transport 抛出运行时 ValueError

python - 为什么我会收到错误的文件描述符错误?

Windows 批处理文件重定向输出

windows - 特殊字符的cmd字符串替换