使用pip安装robotframework-sshlibrary时出现platform_system未定义错误
解决pip安装robotframework-sshlibrary时出现
NameError: name 'platform_system' is not defined的问题 这个错误我之前帮同事排查过,本质是Python 2.7的过时性和对应pip版本太旧,没法解析新版库的依赖声明导致的。下面给你一步步的解决办法:
方法一:升级pip到Python 2.7支持的最高版本
Python 2.7的pip最后一个兼容版本是20.3.4,旧版本的pip无法处理新库的环境标记语法,先升级它:
python -m pip install --upgrade pip==20.3.4
升级完成后,再尝试安装robotframework-sshlibrary的兼容版本(4.0及以上版本不再支持Python 2.7):
python -m pip install robotframework-sshlibrary==3.2.0
方法二:手动安装依赖库(如果方法一无效)
robotframework-sshlibrary依赖paramiko,而paramiko的2.7.2版本是最后支持Python 2.7的版本,先装它:
python -m pip install paramiko==2.7.2
然后再安装指定版本的sshlibrary:
python -m pip install robotframework-sshlibrary==3.2.0
为什么会出现这个错误?
Python 2.7早在2020年就停止了官方维护,现在绝大多数主流Python库(包括robotframework-sshlibrary的新版本)都不再对它提供支持。这些新版库的依赖声明使用了只有新版pip才支持的环境标记(比如platform_system相关的判断),而你当前的旧版pip无法解析这些标记,就抛出了NameError。
额外提醒:如果条件允许,尽量迁移到Python 3.x版本,Python 2.7已经没有安全更新,后续会遇到越来越多的库兼容问题。
内容的提问来源于stack exchange,提问作者Bahubali Patil
相关产品推荐
相关产品推荐

