You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中ModuleNotFoundError: No module named 'dotenv'问题求助

解决Jupyter Notebook中ModuleNotFoundError: No module named 'dotenv'问题

问题现象

在Jupyter Notebook中运行以下代码时触发错误:

# get api key from your .env file
import os
from dotenv import load_dotenv

load_dotenv()
API_KEY = os.getenv('NASDAQ_API_KEY')

print(API_KEY)

错误信息:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
/var/folders/px/ppxppr6d63n4bxqc03x741th0000gn/T/ipykernel_6117/3153037547.py in <module>
      1 # get api key from your .env file
      2 import os
----> 3 from dotenv import load_dotenv
      4 
      5 load_dotenv()

ModuleNotFoundError: No module named 'dotenv'

已尝试操作

执行了卸载重装python-dotenv的命令:

pip uninstall dotenv
pip uninstall python-dotenv
pip install python-dotenv

环境配置信息

$ dotenv --version                 
dotenv, version 0.21.1
$ pip --version
pip 20.3.4 from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip (python 2.7)
$ pip3 --version
pip 23.0 from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip (python 3.10)
$ python3 --version
Python 3.10.5
$ pipenv --version
pipenv, version 2022.7.4

pip freeze输出(Python 2环境):

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
certifi==2021.10.8
chardet==4.0.0
click==7.1.2
dotenv==0.0.5
idna==2.10
python-dotenv==0.18.0
requests==2.27.1
typing==3.10.0.0
urllib3==1.26.14

文件目录结构

项目根目录:

$ ls -al
total 40
drwxr-xr-x   9 user  staff   288 Feb 11 13:27 .
drwxr-xr-x   5 user  staff   160 Jan  9 09:03 ..
-rw-r--r--   1 user  staff    38 Feb 11 12:08 .env
drwxr-xr-x  13 user  staff   416 Jan 29 14:52 .git
-rw-r--r--   1 user  staff  3088 Feb 11 12:15 .gitignore
drwxr-xr-x  14 user  staff   448 Feb  3 14:26 DataScienceGuidedCapstone
-rw-r--r--   1 user  staff   117 Jan  6 14:08 README.md
drwxr-xr-x   6 user  staff   192 Feb 11 13:23 Unit-7-API-Mini-Project

Notebook所在目录:

$ ls -al
total 48
drwxr-xr-x  7 user  staff   224 Feb 11 13:28 .
drwxr-xr-x  9 user  staff   288 Feb 11 13:27 ..
-rw-r--r--  1 user  staff    38 Feb 11 13:28 .env
drwxr-xr-x  3 user  staff    96 Feb 11 11:39 .ipynb_checkpoints
-rw-r--r--@ 1 user  staff  9237 Feb 11 13:23 api_data_wrangling_mini_project.ipynb
-rw-r--r--@ 1 user  staff    35 Feb 10 16:44 env_example.txt
-rw-r--r--  1 user  staff    36 Feb 11 12:09 python-dotenv

错误截图:
Jupyter Notebook错误截图

解决建议

  • 确认Jupyter使用的Python版本:在Notebook中运行以下代码,查看当前内核的Python路径:

    import sys
    print(sys.executable)
    

    如果输出路径指向Python 2.7,说明Jupyter默认使用了Python 2环境,需要切换到Python 3内核。

  • 使用Python 3的包管理器安装python-dotenv:
    直接用pip3安装,确保包安装到Python 3环境中:

    pip3 install python-dotenv
    

    或者用python3 -m pip明确指定Python版本:

    python3 -m pip install python-dotenv
    
  • 检查并切换Jupyter内核:

    1. 在终端运行jupyter kernelspec list,查看已安装的内核路径,确认是否存在Python 3的内核。
    2. 在Jupyter Notebook界面的Kernel菜单中选择Change kernel,切换到Python 3.x的内核。
  • 使用虚拟环境隔离依赖:
    利用pipenv创建虚拟环境,避免全局环境的包冲突:

    # 进入项目目录
    cd Unit-7-API-Mini-Project
    # 创建并激活虚拟环境
    pipenv --python 3.10
    pipenv shell
    # 安装依赖
    pipenv install python-dotenv jupyter
    # 在虚拟环境中启动Jupyter
    jupyter notebook
    

内容的提问来源于stack exchange,提问作者Justin Henson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 12:25:14