我已经配置了PyCharm Professional Edition 3.5 5.0
尽可能使用IPython
在我设置的运行/调试配置中
之后展示口译员
我经常使用交互式解释器,我非常喜欢IPython,但有一些我不喜欢在PyCharm中处理它的方式:
input()在我的程序中任何返回空字符串.
此外,当发生错误时,我无法再与程序交互.(你可以在运行带有-i标志的Python程序时)
控制台中的最后一行与当前行之间有很多空格
在IPython中...:,代码块中的提示不缩进2个空格,因此不与In [?]:提示对齐.
当发生错误时,我得到类似这样的东西,
import IPython; IPython.start_ipython()
我不需要/想要从内部看到回溯.
当运行文件时,需要启动IPython,这需要几秒钟,即使我之后不会使用解释.我希望PyCharm在程序结束后或者我开始调试时启动IPython(你可以通过执行在交互式控制台中启动IPython--no-banner
还有一些我不喜欢的小事
当IPython启动时,它会向控制台输出大量文本.我不想看到任何它除了版本号(你通常可以使用该Up选项,但将它添加到解释器选项不起作用)
当你输入内容并按下Ctrl + Space它时,用我历史记录的最后一项替换我所写的内容,而不是用我输入的内容开头的历史记录的最后一项替换它.普通的IPython就是这样做的.
我希望自动代码完成,而无需按下C:\Program Files (x86)\PyCharm\helpers\PyDev控制台
"问题"按重要性排序.有谁知道如何更改其中一些?我可以停止使用IPython来解决第二个,第三个和第四个问题,但其他问题仍然存在.所有这些行为(不包括IPython的东西)都在PyScripter中得到了很好的实现.
我找到了前两个问题的解决方案以及IPython横幅的问题.PyDev交互式解释器(由PyCharm使用)的源位于Windows上_pydev_imps/_pydev_execfile.py(当然,路径不同).
所以第一个问题可以通过编辑文件来解决exec(compile(contents+"\n", file, 'exec'), glob, loc).用以下代码作为异常处理程序包装块中的第18行(try ... except).如果出现错误,这将终止您的Python程序,同时让您在之后与变量进行交互.import traceback; traceback.print_exc()pydev_run_in_console.py
问题2可以通过编辑火来解决from pydev_console_utils import StdIn.在文件的开头添加此导入:sys.stdin = StdIn(interpreter, host, client_port)并pydev_ipython_console在添加导入之前插入第61行之后.
为了与旗帜,以解决这个问题,你必须下载最新的PyDev的源的版本在这里和替换文件pydev_ipython_console_011 …