os.system执行allure提示找不到sh: allure: command not found

1.运行环境:

        操作系统:macOS Monterey

        Python版本:Python 3.10.8

        Allure 版本:2.19.0

        Pycharm:2021.1.3

2.问题现象:

        使用pytest+allure生成报告时,遇到以下问题:

        在主程序all.py和Python Console执行os.system("allure generate ./temp -o ./report --clean")

时都报错sh: allure: command not found(图1)

        但在Terminal里执行allure generate ./temp -o ./report --clean,就不报错(图2)。

        如下图所示:

图(1)

图(2)

3.解决办法

        网上也看到好多博主分享的办法,有让改mac系统登陆shell的(我的默认是/bin/zsh),有让改系统的环境变量的,或许可以解决你们的问题,但这些方法都没能解决我的问题。不过也从前辈们的分享中学到了不少知识,比如mac系统环境配置;os.system和open.system的区别等等,大家有兴趣可以研究下。

先说问题原因:terminal能执行,python console 和 主程序执行报错,是因为pycharm的环境变量配置的不对。terminal实际使用的是电脑本身的环境变量,python console和主程序都是用的python解释器的变量。

具体配置步骤如下:

(1)先解决python console控制台执行allure的报错,如下图顺序操作

如下图所示,mac是Preferences,windows是Settings

编辑环境变量

mac查看allure的安装路径命令:which allure

 

如下图所示,查看一下刚添加的路径,确认后,先点击Apply,再点击OK,

 

重启pycharm,然后在Python Console里再次执行os.system("allure generate ./temp -o ./report --clean”),执行成功!

此时运行all.py,仍然报错

(2)再解决all.py文件运行报错的问题

如下图所示,编辑主程序(我的是all.py,你们根据自己实际的主程序文件找就行)的Configurations,

如下图所示,编辑环境变量

此时再次运行all.py,执行成功!

 

希望上述方法能帮助到你解决问题~

不要放弃啊,一定要多找找原因。 

 

 

    

 

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值