如何让mypy识别site-packages目录中的dotenv模块?
解决mypy无法识别dotenv模块的问题
确认mypy关联的Python环境
有时候mypy会使用和你安装dotenv不同的Python解释器,直接指定对应环境的Python路径运行mypy即可:mypy --python-executable /path/to/your/python t.py比如虚拟环境的路径可能是
./venv/bin/python,也可以用which python获取当前环境的Python路径替换进去。手动让mypy扫描site-packages
给mypy加上--site-packages参数,强制它扫描系统或虚拟环境的site-packages目录:mypy --site-packages t.py也可以精准指定dotenv的模块路径:
mypy --paths-mapping '{"dotenv": "/path/to/site-packages/dotenv"}' t.py配置mypy.ini实现持久化解决
在项目根目录创建mypy.ini文件,添加以下内容(替换成你实际的site-packages路径):[mypy] python_path = /path/to/your/python/site-packages或者单独指定dotenv的路径:
[mypy] paths = /path/to/site-packages/dotenv重新安装dotenv验证类型文件
确认dotenv目录下的py.typed文件正常,若文件损坏或异常,重新安装一遍模块:pip install --force-reinstall python-dotenv
内容的提问来源于stack exchange,提问作者Mark Harrison
相关产品推荐
相关产品推荐

