运行Flask时出现ModuleNotFoundError: No module named 'dotenv'求助
解决Python中
dotenv模块找不到的问题 问题情况
运行flask run时触发模块找不到错误:
% flask run * Tip: There are .env or .flaskenv files present. Do "pip install python-dotenv" to use them. * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off Usage: flask run [OPTIONS] Try 'flask run --help' for help. Error: While importing 'app', an ImportError was raised: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/flask/cli.py", line 260, in locate_app __import__(module_name) File "/Users/tedx/cpt/python/pythonBackend/app.py", line 4, in <module> from dotenv import load_dotenv ModuleNotFoundError: No module named 'dotenv'
当前环境配置:
% dotenv --version dotenv, version 0.20.0 % pip --version pip 21.3.1 from /Users/tedx/.local/share/virtualenvs/pythonBackend-DMWtwxfH/lib/python3.6/site-packages/pip (python 3.6) % python --version Python 3.6.8 % pipenv --version pipenv, version 2022.4.8
已尝试过的操作:
pip uninstall python-dotenvpip install -U python-dotenv
且pip freeze输出显示python-dotenv==0.20.0已安装。
可行解决方案
1. 确保激活Pipenv虚拟环境
你用Pipenv管理虚拟环境,但运行flask run时可能没激活对应环境,导致系统全局Python找不到虚拟环境里的包。执行以下命令激活:
pipenv shell
激活后再运行flask run测试。
2. 用Pipenv重新安装python-dotenv
不要用pip直接安装,改用Pipenv操作,确保包安装到正确的虚拟环境中:
pipenv install python-dotenv
安装完成后在激活的环境内启动Flask。
3. 用Pipenv直接启动Flask
避免系统全局Flask命令指向错误环境,直接通过Pipenv调用虚拟环境内的Flask:
pipenv run flask run
或者直接运行app文件:
pipenv run python app.py
4. 验证虚拟环境内的包状态
激活虚拟环境后,执行以下命令确认python-dotenv是否存在:
pip list | grep python-dotenv
如果有输出说明包已安装,无输出则重新用pipenv install安装。
5. 核对代码中的import语句
确认代码里的导入语句是from dotenv import load_dotenv(你的代码写法是正确的,但可以再检查一遍,避免拼写错误)。
内容的提问来源于stack exchange,提问作者mesh
相关产品推荐
相关产品推荐

