重置python解释器

重置python解释器,python,linux,Python,Linux,在我的linux机器上。pythonshell有些问题 [user@localhost ~]$ python python python3.5 python3.5m-i686-config python3-coverage python2 python3.5-config python3.5m-x86_64-config python3-mako-render py

在我的linux机器上。pythonshell有些问题

[user@localhost ~]$ python
python                    python3.5                 python3.5m-i686-config    python3-coverage
python2                   python3.5-config          python3.5m-x86_64-config  python3-mako-render
python2.7                 python3.5m                python3-chardetect        python3-pyinotify
python3                   python3.5m-config         python3-config   
当我输入python3.5时

[user@localhost ~]$ python3.5
Python 3.5.0 (default, Feb 14 2017, 17:59:59) 
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> ^[[A
它没有给出任何关于历史的建议。发生了什么事?
我想让它像新的一样工作。如何重置它?

这里可能会发生很多事情,而您尚未提供有关设置的详细信息,因此我只能猜测

在这种情况下,最简单的答案总是一样的: 撤销你所做的任何改变; 恢复用于工作的配置。 如果您没有备份,请将您现在拥有的与其他可以工作的机器(或登录)进行比较

假设你都试过了

箭头键、命令完成和历史记录通常由提供(但并不总是如此——我收集到Mac使用其他功能,我不知道Windows是否可以提供这些功能)

Python配置 自Python 3.4以来,交互模式下的历史记录为:

29.13.1. 读线配置 在版本3.4中更改:
rlcompleter
和历史记录的激活是自动的

确保没有通过将Python别名为
Python-S
或任何类似的方式禁用自动历史记录

在此之前,脚本将在
PYTHONSTARTUP
环境变量中命名,该脚本将由交互式Python会话在显示
提示符之前执行。 委员会举了一个例子:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")
GNU读线配置 GNU Readline可能未启用或设置为奇怪的设置。 与Python一样,由环境变量命名,在本例中为
INPUTRC
。 如果未设置该变量,则默认配置文件为
~/.inputrc
,如果不存在,则为
/etc/inputrc
。 (不同的类Unix发行版可能会更改这些默认值。)

您要查找的是
上一个历史记录
下一个历史记录
。 但如果这些都是错误的,您可能会注意到它不仅仅是Python

其他选择 另一个可能的罪魁祸首是您的窗口管理器。 我没办法。 无论如何,与箭头键相比,窗口管理器更可能在诸如
Ctrl
Caps-Lock
Num-Lock
的帮助中出错

任何比上述更深入的因素都不太可能成为原因。 如果您一直在摆弄
xmodmap
loadkeys
(或GUI终端中击键与其结果之间的任何其他层),您会记住它


同样,最简单的解决方案是识别并撤销所做的更改,即使这意味着创建一个新的登录名,这样您就有了一张空白的名单来进行比较。

这里有一篇关于这个主题的好文章:嗯?你能解释一下到底出了什么问题吗?我在你的帖子中没有看到任何明显的东西,除了对“历史”的模糊引用,但一切似乎都正常工作……为了得到之前的命令。我按向上箭头。但它给了我^[[A.这很奇怪。你现在是在运行不同版本的Python,还是在不同的机器上运行?什么是“新的[旧的?]版本”?听起来你希望GNU Readline处理键盘输入(历史、完成等)。这通常在你的启动文件中完成。你是否设置了
PYTHONSTARTUP
环境变量?如果是,它是否命名了一个文件?该文件中有什么?不,我没有设置PYTHONSTARTUP环境变量?它说模块readline不可用。我应该通过pip安装吗?@deepak:我怎么知道?你还没有提供了一些基本信息,比如你正在运行什么操作系统,或者Python突然停止工作时你正在做什么。也许你有一个自定义的Python安装——谁知道呢?也就是说,它是标准库的一部分,所以如果你不能
导入readline
,那么你的问题比箭头键大得多。(或者您的系统,不管它是什么,都使用
libedit
)如果您确信您的发行版提供了一个不完整的标准库(不太可能),向他们提交一个bug。我正在运行fedora24 x64工作站。我试图从python的官方网站重新安装python。仅此而已。从那时起,这个错误就发生了。