Mac系统Python3.6:pandas_datareader安装成功Jupyter无法导入
这种情况我之前也碰到过,大概率是Jupyter使用的Python环境和你用pip3安装模块的环境不一致导致的——Mac系统里经常会存在多个Python版本共存的情况(比如系统自带的Python、手动安装的Python、虚拟环境里的Python等),pip3安装的模块可能不在Jupyter当前使用的环境里,所以才会报错找不到。下面给你几个实用的解决方法:
第一步:确认环境是否不一致
先搞清楚两个环境的路径是否匹配:
- 在Jupyter Notebook里新建一个单元格,运行以下代码:
import sys print(sys.executable)
这会输出Jupyter当前使用的Python解释器路径,比如可能是/usr/local/bin/python3或者~/miniconda3/bin/python3。
- 打开Mac的终端,运行以下命令查看pip3对应的Python路径:
which pip3
输出的pip3路径一般和对应的Python路径关联,比如pip3路径是/usr/local/bin/pip3,对应的Python就是/usr/local/bin/python3。
对比这两个路径,如果不一样,就说明环境不匹配,这就是问题根源。
解决方法一:直接在Jupyter里安装模块
最简单的方式是直接在Jupyter的环境里安装,新建一个单元格运行:
!pip install pandas_datareader
这里的!是让Jupyter执行终端命令,会直接用当前Jupyter环境的pip来安装模块,确保模块安装在正确的位置。
解决方法二:用Jupyter对应的Python环境的pip安装
如果不想在Jupyter里安装,也可以回到终端,用Jupyter输出的Python路径对应的pip来安装。比如Jupyter的Python路径是~/miniconda3/bin/python3,就运行:
~/miniconda3/bin/pip install pandas_datareader
这样安装的模块就会在Jupyter使用的环境里了。
解决方法三:处理虚拟环境的情况
如果你是在虚拟环境里操作的,要确保:
- 先激活你的虚拟环境:
source your_env_name/bin/activate
- 在激活的环境里安装pandas_datareader和ipykernel:
pip install pandas_datareader ipykernel
- 把这个虚拟环境添加到Jupyter的内核列表中:
python -m ipykernel install --user --name=your_env_name
之后打开Jupyter时,在“Kernel”菜单里选择你添加的这个虚拟环境内核,就能正常导入模块了。
内容的提问来源于stack exchange,提问作者hua guo

