如何把PyCharm改造成支持科学计算的Python IDE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把PyCharm改造成支持科学计算的Python IDE相关的知识,希望对你有一定的参考价值。
进入PyCharm的Preference, 点击Colose,确保右侧的“Use IPython If Available”处于选中状态。在菜单栏中,点击 Tools –>> Python Console, 看PyCharm是否已经成功调用ipython。如果不能,可能需要重启系统,或者重新安装ipython。
PyCharm 自带的运行/调试功能每次都会在新的进程中执行,和科学计算、机器学习的调试模式不一致。一旦数据量稍大,就得每次载入数据,浪费宝贵的时间。这里我们利用PyCharm的宏来解决。 首先,随便新建一个脚本,写好if __name__ == "__main__":函数,然后单击菜单栏中的Edit
–>> Macros –>> Start Macro Recording. 选中编辑器,Ctrl +A (或者
Command +A ) 全选, 鼠标右键菜单中单击 Execute Selection in Console,
再按下右方向键(取消全选状态)。 这个时候,宏就算录制完成了,点击Edit –>> Macros –>> Stop
Macro Recording结束录制,并给宏取名Run_Script
进入Preferences,选择Keymap,搜索我们刚刚建立的Run_Script宏,加入快捷键。 (我加的是 Command + B)
PyCharm还有一个麻烦的地方,就是Variable
Viewer显示了太多的无关变量。虽然Debug模式中有Watches,但是前面已经说明,在普通的机器学习模式下,我们还是希望能像Matlab一样操作数据,因此需要对Varaible
Viewer进行Hack。 这里需要改变PyCharm内置的python脚本(Mac用户右键PyCharm,单击Show Package
Contents,Linux和Windows直接进入PyCharm的安装目录即可)。打开helpers/pydev/pydevd_xml.py文件,查找到函数入口def frameVarsToXML(frame_f_locals):,这个函数就是对Variable Viewer的数据后端进行操作的函数。我们在type, typeName, resolver = getType(v)之后加入一个判断语句,过滤掉多余的变量,我加入的判断语句如下:
if name.startswith(\'_\')
or typeName == \'module\'
or typeName == \'ExitAutocall\'
or typeName == \'function\'
or name ==\'get_ipython\'
or name ==\'In\'
or name == \'Out\':
return \'\'1234567812345678
当然也可以根据自己的需要,过滤掉其他变量。 参考技术A
不知道你指的是什么样的科学计算IDE呢?如果是类似R和ipython那样的,可以直接调出pycharm内置的python console或terminal,如图:
其实如果你做科学计算的话还是推荐你使用ipython
就我而言在日常的工作中我还是习惯使用一般模式的pycharm,因为我有实现程序自动化的需求
本回答被提问者采纳《计算机科学概论》问题
第一章:1.Novell Netware用文件服务器怎样把PC连接在一起,形成局域网?2.现在的计算学科主题领域是什么?
第二章:1.为什么计算机每个储存位只有高电平与低电平两种信号?2.双五进制工作原理是什么?
第三章:1.为什么PNG图像不支持动画?2.如何改变音频格式?
第四章:1.全加器如何把进位考虑在计算之内?2.目前的芯片最多可用容纳多少门?
第五章:1.RAM与ROM的优缺点?2.触摸屏的原理是什么?
第六章:1.汇编语言都有哪些?2.伪代码与代码的区别?
第七章:1.如何进行信息隐蔽?2.抽象与信息隐蔽的关系是什么?
第八章:1.树,列表,栈和队列的关系?2.深度优先搜索和广度优先搜索的应用场合分别是什么?
第九章:1.字符与字节的区别?2.封装,继承与多态的意思?
第十章:1.请求分页思想与虚拟内存思想什么意思?两者的区别?2.主机虚拟机和哑终端的关系?
第十一章:1.磁盘调度的意义?2.目录如何表示?
第十二章:1.电子数据表适应于哪些方面?2.数据库管理不同模型的异同
第十三章:1.计算机如何做到语音识别?2.弱等价性与强等价性是什么?
第十四章:1.创建虚拟世界的原理?2.2D与3D游戏创建时的主要区别?
第十五章:1.计算机连网的原理?2.防火墙如何进行保护?
第十六章:1.Web?Web站点?Web页?2.HTML格式怎么转换?
第十七章:1.加密与解码原理?2.密码分析原理?
第十八章:1.软件复杂度由什么决定?2.正式验证的意义?
以上是关于如何把PyCharm改造成支持科学计算的Python IDE的主要内容,如果未能解决你的问题,请参考以下文章