Streamlit部署Python Web应用遇ModuleNotFoundError问题求助
解决ModuleNotFoundError: No module named 'psutil_psutil_windows'问题
问题成因
这个错误的核心是包名或导入路径错误:
psutil_psutil_windows并非合法的PyPI包,正常的系统监控包是psutil,大概率是代码里的导入语句写错,或者依赖配置文件里的包名拼写错误。- 少数情况是虚拟环境混乱,导致包的路径被错误解析,Streamlit无法找到正确的
psutil包。
排查与修复步骤
检查代码导入语句
打开你的Python应用文件,搜索是否存在import psutil_psutil_windows这类错误导入,将其修改为import psutil即可。如果是第三方依赖库错误引用了这个不存在的包,建议更新该库到最新版本,或者替换为功能类似的替代库。修复依赖配置文件
查看项目的requirements.txt(或pyproject.toml、Pipfile等依赖配置文件),如果里面写了psutil_psutil_windows,直接改成psutil,然后重新安装依赖:pip install -r requirements.txt若是在Streamlit Cloud部署,务必保证依赖文件中的包名完全正确,平台会依据该文件安装所需依赖。
清理并重装psutil
先卸载可能存在的错误命名包(如果有的话):pip uninstall -y psutil_psutil_windows再重新安装正确的
psutil包:pip install psutil注意:如果使用了虚拟环境,要先激活对应环境再执行上述命令。
确认虚拟环境配置
本地运行Streamlit时,确保激活了项目对应的虚拟环境,避免环境隔离导致包无法被识别:# Linux/macOS source venv/bin/activate # Windows venv\Scripts\activate # 启动应用 streamlit run your_app.py
是否需要重写代码?
完全不需要,这只是依赖包的拼写或导入错误,按照上述步骤排查修复即可恢复正常。
内容的提问来源于stack exchange,提问作者Le Gia Bao Tran
相关产品推荐
相关产品推荐

