如何把PyCharm改造成支持科学计算的Python IDE
2个回答
展开全部
进入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
当然也可以根据自己的需要,过滤掉其他变量。
在菜单栏中,点击 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
当然也可以根据自己的需要,过滤掉其他变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询