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使用的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内核:
- 在终端运行
jupyter kernelspec list,查看已安装的内核路径,确认是否存在Python 3的内核。 - 在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
相关产品推荐
相关产品推荐

