一些背景:--我正在从对所有数据分析任务使用R+ RStudio过渡到尝试使用Python (大部分是熊猫)+带有PyDev的Eclipse。因为有了RStudio,我已经习惯了一个工作流,这个工作流需要编写一些代码,并测试一些我不确定的部分,方法是逐块运行它,做任何我需要做的修复,然后继续前进。RStudio确实帮助(实际上,可能是训练我)这样做,因为我没有任何正式的CS培训,这就是我现在的想法。
我有两个问题(一个是实用的,另一个是哲学的):
1.)如何让Eclipse + PyDev中的交互式控制台识别较大脚本中的变量?我知道ctrl + alt + enter会弹出交互控制台,但是我不能让它停留在我的脚本中,而且它也不识别以前运行过的任何东西。因此,如果我想测试在特定数据列上定义的函数的使用情况,我必须将函数复制/粘贴到控制台(以及任何依赖项,比如导入模块)。
2.)Python用户应该做什么工作流呢?我感觉到,这种依赖于人工猜测和检查测试的方式并不是真正的编程人员所做的事情,我希望转变成一个更好的实践。但到目前为止,我发现从一开始就重新运行整个脚本是一种浪费,因为我宁愿在我积极参与的部分中磨练。
发布于 2016-06-13 17:12:50
在执行Ctrl+Alt+Enter之后,您应该能够:
请注意,如果需要,如果选中“连接控制台到调试会话”,您可能会看到shell中的局部变量?在preferences > pydev >交互式控制台页面上。
现在,这是一种使用慢速数据进行探索性测试的合理方法(通常加载缓慢的数据并对内存中的数据进行更改),但对于速度快的代码,我建议的是创建测试用例,然后运行这些测试(我建议使用pytest:http://pytest.org,但unittest也能工作).在这种情况下,您还可以为后代存储测试,您可以重新运行这些测试,以确保您没有随着代码的发展而破坏任何东西。
注意,如果您决定使用pytest,则必须转到preferences > PyDev > PyUnit,并将测试运行程序设置为PyTest。请注意,PyDev使只运行所需的测试变得非常简单(您可以在测试文件中选择带有Ctrl+Shift+Up/Down的测试方法,然后使用Ctrl+F9运行它.如果您愿意,您可以使用Ctrl+F11稍后重新运行,或者使用F11来用断点来调试它,前提是按照run.html中所描述的配置“始终启动先前启动的应用程序”)。
https://stackoverflow.com/questions/37753703
复制相似问题