已安装python-dotenv仍报ModuleNotFoundError: No module named 'dotenv'怎么办?
解决ModuleNotFoundError: No module named 'dotenv'(已安装python-dotenv仍报错)
你的问题核心是Python解释器与pip的环境不匹配——你用虚拟环境的pip安装了包,但运行脚本时调用的是另一个Python解释器(比如系统全局版本),导致找不到已安装的python-dotenv。
以下是具体解决步骤:
1. 确认Python与pip的路径一致性
在虚拟环境激活状态下,分别执行以下命令:
which python which pip
正常情况两个命令的输出路径都应包含你的.venv目录(比如~/ROOT/Python/finetunechat/openai/.venv/bin/python和对应路径的pip)。如果其中一个路径不在虚拟环境内,说明环境不匹配。
2. 使用虚拟环境的Python运行脚本
如果路径不一致,直接指定虚拟环境的Python解释器运行脚本:
./.venv/bin/python 1.py
或者重新激活虚拟环境,确保当前shell使用的是虚拟环境的Python:
source .venv/bin/activate python 1.py
3. 用虚拟环境的pip重新安装(可选)
若上述方法无效,直接用虚拟环境的pip重新安装包,确保安装到正确的目录:
./.venv/bin/pip install python-dotenv==0.21.1
4. 验证安装结果
运行虚拟环境的Python进入交互模式,测试导入是否成功:
./.venv/bin/python
在交互界面输入:
from dotenv import load_dotenv
如果没有报错,说明安装成功,此时再运行脚本即可正常加载模块。
你的代码示例
import os import json import openai import pandas as pd from dotenv import load_dotenv load_dotenv() ...
错误信息参考
(.venv) ~/ROOT/Python/finetunechat/openai $ pip list | grep dotenv python-dotenv 0.21.1 (.venv) ~/ROOT/Python/finetunechat/openai $ python 1.py Traceback (most recent call last): File "1.py", line 7, in <module> from dotenv import load_dotenv ModuleNotFoundError: No module named 'dotenv'
内容的提问来源于stack exchange,提问作者Raymond
相关产品推荐
相关产品推荐

