拜仁四强 2020-10-20 10:14 采纳率: 0%
浏览 104

cobra进行代码检查时报错

执行命令:python cobra.py -t test/src时,报错:
Traceback (most recent call last):
File "/root/hgh/sonar/sonar-scanner-3.2.0.1227-linux/bin/cobra/cobra.py", line 18, in
from cobra import main
File "/root/hgh/sonar/sonar-scanner-3.2.0.1227-linux/bin/cobra/cobra/__init__.py", line 22, in
from . import cli, api, config
File "/root/hgh/sonar/sonar-scanner-3.2.0.1227-linux/bin/cobra/cobra/api.py", line 27, in
from flask import Flask, request, render_template, Blueprint
File "/usr/lib/python2.7/site-packages/flask/__init__.py", line 21, in
from .app import Flask, Request, Response
File "/usr/lib/python2.7/site-packages/flask/app.py", line 23, in
from werkzeug.routing import BuildError, Map, RequestRedirect, Rule
File "/usr/lib/python2.7/site-packages/werkzeug/routing.py", line 948
exec(code, globs, locs)
SyntaxError: unqualified exec is not allowed in function '_compile_builder' it contains a nested function with free variables
怎么回事?

  • 写回答

1条回答 默认 最新

  • 数据大魔王 2023-06-10 21:21
    关注

    这个错误是因为Python版本不兼容导致的。从错误信息中可以看出,您正在使用Python 2.7版本,但是您的代码中使用了Python 3.x版本的语法,导致出现了语法错误。

    解决这个问题的方法有两种:

    1. 将代码中的Python 3.x语法改为Python 2.x语法,以兼容Python 2.7版本。

    2. 使用Python 3.x版本来运行代码,以支持Python 3.x语法。

    如果您的代码中使用了大量的Python 3.x语法,那么第二种方法可能更加方便。您可以在命令行中输入以下命令来检查您的Python版本:

    python --version
    

    如果输出的版本号是Python 2.x版本,那么您需要安装Python 3.x版本,并将命令行中的python改为python3,例如:

    python3 cobra.py -t test/src
    

    这样就可以使用Python 3.x版本来运行代码了。如果您的系统中同时安装了Python 2.x和Python 3.x版本,可以使用以下命令来运行Python 3.x版本:

    python3.8 cobra.py -t test/src
    

    其中,python3.8是Python 3.8版本的命令。您可以根据您的Python版本来选择相应的命令。

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大