From 7821d783937680e8fd0b0dea55764e7fe02ad67a Mon Sep 17 00:00:00 2001 From: Feiyu Chan Date: Mon, 27 Jun 2022 11:04:42 +0800 Subject: [PATCH] use jinja2 2.11.3 to avoid error on python 3.6.0 (#43788) use jinja 2.11.3 in python lower than 3.6.2 --- paddle/phi/api/lib/CMakeLists.txt | 8 +++++++- .../utils/code_gen/templates/operator_utils.c.j2 | 14 +++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/paddle/phi/api/lib/CMakeLists.txt b/paddle/phi/api/lib/CMakeLists.txt index bb99b6fc400..0bec8f44fe3 100644 --- a/paddle/phi/api/lib/CMakeLists.txt +++ b/paddle/phi/api/lib/CMakeLists.txt @@ -100,7 +100,13 @@ if(NOT PYTHON_EXECUTABLE) endif() # install extra dependencies -execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install -U pyyaml jinja2) +if(${PYTHON_VERSION_STRING} VERSION_LESS "3.6.2") + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install -U pyyaml + typing-extensions>=4.1.1 jinja2==2.11.3) +else() + execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install -U pyyaml jinja2 + typing-extensions) +endif() # parse apis set(parsed_api_dir ${CMAKE_SOURCE_DIR}/python/paddle/utils/code_gen/parsed_apis) diff --git a/python/paddle/utils/code_gen/templates/operator_utils.c.j2 b/python/paddle/utils/code_gen/templates/operator_utils.c.j2 index 63a6fe82a44..9a593a99c1d 100644 --- a/python/paddle/utils/code_gen/templates/operator_utils.c.j2 +++ b/python/paddle/utils/code_gen/templates/operator_utils.c.j2 @@ -30,10 +30,12 @@ TODO: Documentation of {{api_name}} op. {% set name = input["name"] %} {% set typename = input["typename"] %} AddInput({{name| to_opmaker_name}}, "({{typename}}), input {{i}} of {{op_name}} op.") - {%- if typename is vec +%} + {%- if typename is vec %} + .AsDuplicable() {%- endif %} - {%- if input["optional"] +%} + {%- if input["optional"] %} + .AsDispensable() {%- endif %} {%- endmacro %} @@ -44,10 +46,12 @@ AddInput({{name| to_opmaker_name}}, "({{typename}}), input {{i}} of {{op_name}} {% set typename = output["typename"] %} {% set is_intermediate = output["intermediate"] %} AddOutput({{name | to_opmaker_name}}, "({{typename}}), output {{i}} of {{op_name}} op.") - {%- if typename is vec +%} + {%- if typename is vec %} + .AsDuplicable() {%- endif %} - {%- if is_intermediate +%} + {%- if is_intermediate %} + .AsIntermediate() {%- endif %} {%- endmacro %} @@ -67,7 +71,7 @@ AddInput("{{name | to_pascal_case}}TensorList", "attribute {{i}} for {{op_name}} .AsDispensable(); {% endif %} AddAttr<{{typename | to_op_attr_type}}>("{{name}}", "({{typename | to_op_attr_type}}), attribute {{i}} for {{op_name}} op.") - {%- if "default_value" in attr +%} + {% if "default_value" in attr %} .SetDefault({{process_default_value(attr)}}) {%- endif %} {%- endmacro %} -- GitLab