我已经安装了pandas,但在VScode中无法导入。

6

我的笔记本是MacBookPro2017,运行的是macOS Mojave 10.14.16。

我过去常常使用Jupyter编程,一切都很顺利。

然而,当我想在VScode中做同样的事情时,它显示:

"ImportError: No module named pandas"

我确定我已经通过以下方式安装了pandas:

pip3 install pandas

我的做法如下:

1.在 Stack Overflow 上搜索类似的问题,有人说可能存在多个版本的 Python,pip 和 pandas 可能位于其他路径下。然后我发现我的电脑上安装了 Python2.7 和 Python3.7:

AlfiedeMacBook-Pro:~ alfie$ which python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
AlfiedeMacBook-Pro:~ alfie$ which python
/usr/bin/python
AlfiedeMacBook-Pro:~ alfie$ which pip
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip
AlfiedeMacBook-Pro:~ alfie$ which pip3
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3
AlfiedeMacBook-Pro:~ alfie$ which pandas
AlfiedeMacBook-Pro:~ alfie$ pandas --version
-bash: pandas: command not found
AlfiedeMacBook-Pro:~ alfie$ pip --version
pip 19.2.2 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)

如果我键入:

AlfiedeMacBook-Pro:~ alfie$ pip3 install pandas
Requirement already satisfied: pandas in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (0.25.1)
Requirement already satisfied: pytz>=2017.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas) (2019.2)
Requirement already satisfied: python-dateutil>=2.6.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas) (2.8.0)
Requirement already satisfied: numpy>=1.13.3 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas) (1.17.0)
Requirement already satisfied: six>=1.5 in ./Library/Python/3.7/lib/python/site-packages (from python-dateutil>=2.6.1->pandas) (1.12.0)

我认为我在正确的路径中使用了pandas。

2.然后我看到有人使用sys来附加路径,所以我在我的代码前面写下它:

import sys
sys.path.append('/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages')
import numpy as np
import pandas as pd

然后我遇到了以下错误:

ImportError: 这个版本的pandas与numpy < 1.13.3不兼容。

您的numpy版本为1.8.0rc1。

请升级numpy至>= 1.13.3以使用此版本的pandas。

但是我的numpy版本是1.17,我已经升级了。

所以我想知道我该怎么做才能在VScode中使用pandas?


你能否在终端中成功导入Python3.7执行文件? - LiuChang
当我使用终端时,可以成功地导入。当我在VSCode中选择执行时,可以看到有三个版本的Python。我尝试了每个版本,但都没有起作用。 - Alfie Zhang
一个简单的解决方法是创建一个virtualenv环境。然后再次安装pandas。最后一步是将VScode的Python解释器设置为您的virtualenv - LiuChang
4个回答

10

我遇到了相同的问题。问题在于VS Code使用了不同的环境(显示在左下角)。在那里切换环境可以解决这个问题。


1
谢谢!如果这还不能解决问题,我还需要更改右上角的内核。 - PacoDePaco

2

对于初学者:

  1. 首先,这种情况通常是由环境引起的。环境将负责解释您的Python代码并正确运行它(即使在错误的环境下运行,也不会得到您想要的结果)。
  2. 为了最好地解决这个问题:
  3. 找到您的Python版本,输入python --version,如果不起作用,请输入python3 --version
  4. 然后,在查看版本后 - 我将认为是Python 3 - 您将键入python3 -m venv venv,这将创建一个虚拟环境,这是处理项目的推荐方式。重要提示:它将在您带有项目的当前文件夹中创建环境
  5. 最后,您可以通过键入. venv/bin/activate来激活它,这将激活您的项目。对于某些系统,您甚至不需要这样做,但对我来说是必要的
  6. 然后,您进入VS Code的终端,打开Python并查找此环境执行以下命令的位置: python3 import sys print(sys.executable)
  7. 复制文件夹路径。然后单击VS Code左下角(它将写着“interpreter”或“Python 2.x.x”或“Python 3.x.x”(您知道的,对吧),然后选择它,上方会要求您选择解释器路径,并将您在步骤6中复制的路径粘贴到路径中。
  8. 最后,使用pip install module正常安装所有路径。

希望这对你们有用!我终于从这里让我的程序工作了。


1
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我也遇到了同样的问题。在 VS Code 中,我的 Python 版本与终端中相同,环境相同,sys.executable 路径相同。但是,在 命令提示符/ Spyder 终端/Jupyter 终端 中找到的 os.environ 中的 PATH 与我从 VS Code 终端获取的 PATH 不同。

VS Code 从 os.environ['PATH'] 开始启动 PATH,如下所示:

'PATH': 'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;...'`

终端从os.environ['PATH']开始像这样设置 PATH

'PATH': 'C:\\Users\\userid\\Appdata\\Local\\Continuum\\Anaconda3;...'

当我将PATH变量替换为以我的Anaconda路径开头时,导入pandas就可以正常工作了。

尽管VS Code的PATH变量中也存在Anaconda路径,但它位于末尾。因此,我猜测它在启动时被VS Code更改了。


0

如果在正确设置的环境中遇到该问题,首先应该关闭所有 vscode 窗口,然后重新启动。

我今天就遇到了这个问题,这种方法有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接