Python3.5.2(Win10)运行脚本报错:psutil无process_iter属性
解决psutil调用process_iter()报错的问题
嘿,我碰到过类似的坑,给你几个排查方向,应该能搞定:
1. 先排查Python环境冲突(最常见原因)
Windows上很容易同时装多个Python版本,你安装的psutil大概率没在当前运行的Python 3.5.2环境里。试试这些操作:
- 打开命令提示符,输入
where python,看看输出的路径是不是你正在用的Python 3.5.2的安装路径(比如C:\Python35\python.exe) - 如果不是,就用完整路径的Python重新安装psutil:
C:\Python35\python.exe -m pip install psutil==5.4.3 - 或者先确保当前命令行的Python是3.5.2,再执行
python -m pip install --upgrade psutil==5.4.3
2. 检查是否有本地文件覆盖了psutil库
如果你的脚本所在文件夹里,有自己写的psutil.py文件或者叫psutil的文件夹,Python会优先导入本地的这个,而不是你安装的官方库。
- 去脚本目录里看看,把同名的文件/文件夹重命名或者删掉,再重新运行脚本试试。
3. 验证导入的psutil是否正确
在你的脚本开头加两行调试代码,确认导入的是正确的库:
import psutil print("当前psutil版本:", psutil.__version__) print("psutil所在路径:", psutil.__file__)
运行后如果版本不是5.4.3,或者路径指向你脚本目录里的文件,那就是上面的环境/文件覆盖问题导致的,按照前两步解决就行。
另外提一句:psutil.get_process_list()是psutil 2.0之前的旧方法,5.4.3版本里已经移除了,所以你本来就不该用这个,专注解决process_iter()的问题就好。
内容的提问来源于stack exchange,提问作者danielG
相关产品推荐
相关产品推荐

