由于 LiveShare 功能,我已经习惯在日常数据科学远程工作流程中使用 VSCode。
因此,在执行函数时,它只执行第一行代码;如果我标记整个区域那么它确实有效,但这是处理问题的麻烦方式。
我尝试了很多扩展,但似乎没有一个能解决问题。
def gini_normalized(test, pred):
"""Simple normalized Gini based on Scikit-Learn's roc_auc_score"""
gini = lambda a, p: 2 * roc_auc_score(a, p) - 1
return gini(test, pred)
执行函数的开头会导致错误:
def gini_normalized(test, pred):...
File "", line 1
def gini_normalized(test, pred):
^
SyntaxError: unexpected EOF while parsing
PyCharm 有一个解决方案:Python Smart Execute - https://plugins.jetbrains.com/plugin/11945-python-smart-execute . Atom's Hydrogen 也没有这样的问题。
关于 VSCode 有什么想法吗?
谢谢!
最佳答案
我是 VSCode DataScience 功能的开发人员。只是为了确保我理解正确。如果您在函数定义上运行它,您希望 shift-enter 命令将整个函数发送到交互窗口吗?
如果是这样,那么是的,我们目前不支持它。 Shift-enter 可以逐行运行或运行您手动突出显示的一段代码。如果需要,您可以在代码中使用 #%% 行将函数放入代码单元中。然后,当您在单元格中时,shift-enter 将运行整个单元格,这可能是目前最适合您的方法。
智能执行看起来确实很有趣,如果您想将其作为建议归档,您可以在此处使用我们的 GitHub 将其添加到我们的待办事项列表中以供查看。 https://github.com/Microsoft/vscode-python
关于python - 如何在 VSCode 中整体执行 python 函数(它拆分并仅将第一行发送给解释器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57493434/