6

我的膝上是MacBookPro2017,macOS Mojave 10.14.16

我曾经在 Jupyter 中编码,一切都很顺利。

但是,当我想在 VScode 中做同样的事情时,它说

“ImportError:没有名为 pandas 的模块”

我确定我已经安装了 pandas

pip3 install pandas

我做以下事情:

1.在SO上搜索类似问题,有人说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)

所以我认为我在真正的道路上有熊猫(?)

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中使用?

4

4 回答 4

8

我遇到过同样的问题。问题是 VS Code 使用了不同的环境(如左下角所示)。切换那里的环境解决了这个问题。

于 2020-02-26T13:51:20.283 回答
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' or 'Python 2.xx' or 'Python 3.xx'(你有,对),然后选择它,上面会要求您选择解释器的路径,然后将复制的路径粘贴到路径 6.
  8. 最后现在,正常安装所有路径pip install module

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

于 2021-04-25T05:10:38.150 回答
1

我也面临同样的问题。我在 VS Code 中的 Python 版本与终端相同。一样的环境。相同sys.executable的路径。但是与我从 VS Code 终端获得的相比PATHos.environ找到的 in不同。command prompt/spyder Console/Jupyter terminalPATH

VS Code 从PATH以下开始os.environ['PATH']

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

终端从PATH以下开始os.environ['PATH']

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

因此,当我替换PATH变量以从我的 anaconda 路径开始时,Import pandas 工作正常。

尽管 Anaconda Path 也出现在 VS CodePATH变量中,但它在最后。所以我猜它在启动时被 VS Code 改变了。

于 2021-03-29T09:39:54.443 回答
0

在正确设置的环境中遇到这个问题,你应该做的第一件事是关闭所有 vscode 窗口,然后重新启动它。

我今天偶然发现了它,它已经奏效了。

于 2021-11-12T17:37:37.897 回答