WA to resolve conflict between paddlepaddle and protobuf 3.20.3 (#16315)
This commit is contained in:
parent
a46fc47e6a
commit
4411a6ea45
@ -25,10 +25,21 @@ ov_add_test_target(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Test model generating
|
# Test model generating
|
||||||
ov_check_pip_packages(REQUIREMENTS_FILE "${CMAKE_CURRENT_SOURCE_DIR}/requirements.txt"
|
set(PADDLE_REQ "${CMAKE_CURRENT_SOURCE_DIR}/requirements.txt")
|
||||||
MESSAGE_MODE WARNING
|
if(PYTHONINTERP_FOUND)
|
||||||
WARNING_MESSAGE "PaddlePaddle frontend unit tests will be skipped"
|
execute_process(
|
||||||
RESULT_VAR paddlepaddle_FOUND)
|
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/paddle_pip_check.py" ${PADDLE_REQ}
|
||||||
|
RESULT_VARIABLE EXIT_CODE
|
||||||
|
OUTPUT_VARIABLE OUTPUT_TEXT
|
||||||
|
ERROR_VARIABLE ERROR_TEXT)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT EXIT_CODE EQUAL 0)
|
||||||
|
set(paddlepaddle_FOUND OFF)
|
||||||
|
message(WARNING "Python requirement file ${PADDLE_REQ} is not installed, PaddlePaddle frontend unit tests will be skipped")
|
||||||
|
else()
|
||||||
|
set(paddlepaddle_FOUND ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(TEST_PADDLE_MODELS_DIRNAME test_model_zoo/paddle_test_models)
|
set(TEST_PADDLE_MODELS_DIRNAME test_model_zoo/paddle_test_models)
|
||||||
target_compile_definitions(${TARGET_NAME} PRIVATE -D TEST_PADDLE_MODELS_DIRNAME=\"${TEST_PADDLE_MODELS_DIRNAME}/\")
|
target_compile_definitions(${TARGET_NAME} PRIVATE -D TEST_PADDLE_MODELS_DIRNAME=\"${TEST_PADDLE_MODELS_DIRNAME}/\")
|
||||||
|
20
src/frontends/paddle/tests/paddle_pip_check.py
Normal file
20
src/frontends/paddle/tests/paddle_pip_check.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import pkg_resources
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
req_file=sys.argv[1]
|
||||||
|
|
||||||
|
try:
|
||||||
|
pkg_resources.require(open(req_file, mode='r'))
|
||||||
|
except Exception as inst:
|
||||||
|
pattern = re.compile(r"protobuf .*, Requirement.parse\('protobuf<=3\.20\.0,>=3\.1\.0'\), {'paddlepaddle'}")
|
||||||
|
result = pattern.findall(str(inst))
|
||||||
|
if len(result) == 0:
|
||||||
|
raise inst
|
||||||
|
else:
|
||||||
|
env = pkg_resources.Environment()
|
||||||
|
env['protobuf'].clear()
|
||||||
|
env.add(pkg_resources.DistInfoDistribution(project_name="protobuf", version="3.20.0"))
|
||||||
|
ws = pkg_resources.working_set
|
||||||
|
reqs = pkg_resources.parse_requirements(open(req_file, mode='r'))
|
||||||
|
dists = ws.resolve(reqs, env, replace_conflicting=True)
|
Loading…
Reference in New Issue
Block a user