代码之家  ›  专栏  ›  技术社区  ›  MIKE PAPADAKIS

acados的示例程序未运行

  •  0
  • MIKE PAPADAKIS  · 技术社区  · 2 年前

    问题


    我想测试我的acados安装。然而,当运行第一个示例来测试我的安装时,我遇到了一个问题:

    运行推荐的示例:

    $ python minimal_example_ocp.py
    

    我得到以下信息:

    Traceback (most recent call last):
      File "minimal_example_ocp.py", line 31, in <module>
        from acados_template import AcadosOcp, AcadosOcpSolver
      File "/home/papaveneti/acados/interfaces/acados_template/acados_template/__init__.py", line 32, in <module>
        from .acados_ocp import AcadosOcp, AcadosOcpConstraints, AcadosOcpCost, AcadosOcpDims, AcadosOcpOptions
      File "<fstring>", line 1
        (self.cost.cost_type_0=)
                              ^
    SyntaxError: invalid syntax
    
    

    我很感激你能深入了解这个问题以及如何解决它。

    我在安装过程中遵循的步骤:


    1. 我遵循了使用cmake在linux中安装的步骤,如下所示 here 构建成功,没有任何错误

    2. 然后,我想建造 python interface

    所以首先。我根据下载了python 3.7 these 说明书即:

    sudo add-apt-repository ppa:deadsnakes/ppa -y
    sudo apt update
    sudo apt install python3.7
    sudo apt install python3.7-full
    

    然后我创建了一个虚拟环境并安装了 acados_template 包装:

    cd acados
    python3.7 -m venv vEnv
    source vEnv/bin/activate
    pip install -e ~/acados/interfaces/acados_template
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$HOME/acados/lib"
    export ACADOS_SOURCE_DIR="$HOME/acados"
    
    
    1. 然后我试着运行这个例子:
    cd ~/acados/examples/acados_python/getting_started
    python3.7 minimal_example_ocp.py # or even python minimal_example_ocp.py
    

    额外检查和信息

    具有 pip list -l 我明白了 acados_template 包装:

    acados-template   0.2.6   /home/<user>/acados/interfaces/acados_template
    

    python --version 给了我python 3.7.17。

    我有ubuntu 20.04 LTS

    第32行来自 /home/papaveneti/acados/interfaces/acados_template/acados_template/__init__.py 如下所示:

    from .acados_ocp import AcadosOcp, AcadosOcpConstraints, AcadosOcpCost, AcadosOcpDims, AcadosOcpOptions
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   AKX Bryan Oakley    2 年前

    您的Python版本太旧,不适合 {foo=} syntax 在那个文件中。(也就是说,你确定这是完整的回溯吗?看起来可能少了一些行。)

    这个 = Python 3.8中添加了f字符串的语法。不幸的是,文档建议在Python3.7不起作用的情况下使用它。

    您应该升级到 supported version Python 3。