PyCharm代码完成在控制台中工作,但不在编辑器中

时间:2016-05-02 00:46:53

标签: python pandas pycharm

在编辑器窗口中键入以下代码时,只会显示一些可用的自动填充项目。也就是说它应该显示.loc作为选项,但不是。

    import pandas as pd
    df = pd.read_csv('somecsvfile.csv')
    df.

code completion in editor window

在PyCharm中使用具有相同代码的控制台时,将显示完整列表。 (见附图)

code completion with the full list

我已经使缓存无效并重新启动。此外,似乎另一个建议是打开Python调试器 - >收集运行时类型信息以获取代码洞察力。我也是这样做的,在编辑器窗口中仍然没有。

让我感到困惑的是,代码完成在控制台中运行,但不在编辑器中。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

当你在控制台中运行它时,它知道y.y的类型,因为它实际上就在那里。它甚至可以运行mylist = [['F','G','C'], ['S',3,7], ['C',3,'D']] rslist = [[y for y in x if not isinstance(y, int)] for x in mylist ] print (rslist) 来确切知道可用的名称。在编辑器中,它不运行代码,所以它必须通过检查df来猜测类型,这更难(通常甚至不可能),因为Python是如此动态。

答案 1 :(得分:0)

我曾经遇到同样的问题。这只发生在Linux上。请注意,这可能并且实际上是Windows中的标准行为,因此可以完成。不确定是否使用静态分析或类似方法完成。

我已经能够修复它,我认为它不仅在运行/调试配置中定义了正确的解释器,而且在项目的默认值中也是如此(检查文件 - >设置 - &gt ;项目翻译和文件 - >默认设置 - >项目翻译)

我现在已经转移到下一个问题,即自动完成适用于Python控制台和文件编辑,但奇怪的是,它不适用于调试!...