拜仁四强 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版本来选择相应的命令。

    评论

    报告相同问题?

    悬赏问题

    • ¥15 关于PROCEDURE和FUNCTION的问题
    • ¥100 webapi的部署(标签-服务器)
    • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
    • ¥15 C语言除0问题的检测方法
    • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
    • ¥15 macos13下 ios交叉编译的问题
    • ¥15 bgz压缩文件怎么打开
    • ¥15 封装dll(引入了pcl的点云设计库)
    • ¥30 关于#开发语言#的问题:我需要在抄板的基础上再抄板抄程序,根据RDA8851CM基础上开发
    • ¥15 oracle 多个括号,怎么删除指定的括号及里面的内容?