Ubuntu 20.04安装robotframework-excellibrary遇execfile未定义错误
解决Ubuntu 20.04下安装robotframework-excellibrary的
execfile报错问题 错误原因
这个报错的核心是robotframework-excellibrary的setup.py使用了Python2专属的execfile()函数,而Ubuntu 20.04默认的Python环境是Python3,Python3已经移除了execfile,导致执行setup.py时触发NameError。
解决方案
方案1:用Python2环境安装
Ubuntu 20.04可以手动安装Python2和对应pip来兼容这个库:
- 先安装Python2与pip2:
sudo apt update && sudo apt install python2 python-pip - 用pip2安装目标库:
pip2 install robotframework-excellibrary
方案2:修改源码后本地安装
如果需要在Python3环境使用,可以手动修改源码兼容Python3:
- 下载库的源码包:
pip download robotframework-excellibrary - 解压下载的zip包:
unzip robotframework-excellibrary-0.0.2.zip - 进入解压后的目录:
cd robotframework-excellibrary-0.0.2 - 编辑
setup.py文件,找到第23行的execfile代码,替换为Python3兼容的写法:
原代码:
替换为:execfile(join(dirname(__file__), 'ExcelLibrary', 'version.py'))with open(join(dirname(__file__), 'ExcelLibrary', 'version.py')) as f: exec(f.read()) - 本地安装修改后的库:
pip install .
方案3:使用Python3兼容的替代库
如果不需要严格使用这个旧库,可以选择更适配Python3的替代库,比如robotframework-excel:
pip install robotframework-excel
内容的提问来源于stack exchange,提问作者ambika sahu
相关产品推荐
相关产品推荐

