Python 在VS代码中找不到熊猫的定义

Python 在VS代码中找不到熊猫的定义,python,pandas,visual-studio-code,Python,Pandas,Visual Studio Code,VS代码1.41.1 蟒蛇3熊猫0.23.3 Debian buster(10) 我无法在VS代码中获得函数的定义。不过,所有其他python3包的定义都是可用的。这里是一个MWE: import pandas import quandl df = quandl.get("WIKI/GOOGL") df.fillna(value=-99999, inplace=True) quandl.get()的定义可用,但df.fillna()的定义不可用。其他python3模块的函数和类的定义也可用。顺

VS代码1.41.1

蟒蛇3熊猫0.23.3

Debian buster(10)

我无法在VS代码中获得函数的定义。不过,所有其他python3包的定义都是可用的。这里是一个MWE:

import pandas
import quandl
df = quandl.get("WIKI/GOOGL")
df.fillna(value=-99999, inplace=True)

quandl.get()的定义可用,但df.fillna()的定义不可用。其他python3模块的函数和类的定义也可用。顺便说一句,pandas doc不适用于pip和pip3,但我已经从python存储库(python pandas doc)安装了它。知道如何解决这个问题吗?

我强烈建议您创建一个虚拟环境来使用vscode。以下是我在Windows 10上创建它所采取的步骤:

  • 确保本地计算机中有python 3.x 安装virtualenv(
    pip安装virtualenv
  • 在项目的根文件夹中,创建一个虚拟环境(
    virtualenv-p“path_to_python.exe”.venv
    • vscode应自动检测此虚拟环境,否则重新启动vscode
    • 当您打开新的终端窗口时,vscode应该能够激活.venv,否则请检查错误
    • 您可以手动激活运行
      .venv\bin\activate.ps1的虚拟环境,或者如果您使用的是Linux
      source.venv/bin/activate
  • 创建一个包含依赖项的
    requirements.txt
    文件: [编辑]:为您的deps定义正确的版本是关键,否则您将不得不挖掘pip正在安装的版本

  • pandas=>0.25.3,我遇到了同样的问题:有一个示例:

    导入matplotlib.pyplot作为plt
    图=plt.图()
    ax=图添加_子图(111,投影='3d')
    

    VScode可以找到figure()的定义,但找不到add_子图的定义。

    Q不是大写的“quandl”吗?您是否在虚拟环境中安装了pandas,但在vscode中访问时遇到问题?或者你只是在虚拟环境之外安装了它?@AlexanderSantos它以前是Quandl,但现在改用Quandl()@MaxPower使用debian python3熊猫。熊猫出现在
    pip3列表下。不使用虚拟环境。@zuz在我看来,您的问题是vscode,没有引用virtualenv,而是引用系统python,而在(大多数)unix系统(可能包括您的系统)上,它将是python2 env,并且您已经使用pip3将pandas安装在默认python3 env中。在vscode集成的shell中,运行
    python
    ,查看它是否生成python2或python3提示符?最好的解决方案是始终使用虚拟环境,并在vscode会话中引用特定的VirtualEnvironment。不太好的解决方案是pip install pandas将pandas安装到默认(可能是python2)环境感谢您的反馈,但问题不在于虚拟环境(我已经在其他python项目中使用过)或代码完成。这是关于系统范围安装中的定义。virtualenv是隔离依赖项的Python方式。如果您使用答案中的方法正确定义pandas和quandl版本,我相信您会看到正确的定义。祝你好运。依赖关系已经完全满足。事实上,问题中发布的代码片段与使用其他函数的其余代码(未发布在此处)一样有效。你真的不需要说服我虚拟环境的好处,我也使用它们。但同样,这个问题与虚拟环境无关。欢迎来到这里。请使用堆栈溢出的内置代码格式化工具格式化代码。