From 9e32d5598469ef273fe7c0af448f02b599f20fac Mon Sep 17 00:00:00 2001 From: ThomasDuvinage Date: Tue, 6 Aug 2024 08:58:34 +0900 Subject: [PATCH 1/5] [CNOID] Consider python version in cnoid file --- cnoid/project/CMakeLists.txt | 7 +++++++ cnoid/project/MCC_JVRC1_SampleField.in.cnoid | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cnoid/project/CMakeLists.txt b/cnoid/project/CMakeLists.txt index ae77663..7dbc76c 100644 --- a/cnoid/project/CMakeLists.txt +++ b/cnoid/project/CMakeLists.txt @@ -1,3 +1,9 @@ +execute_process( + COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" + OUTPUT_VARIABLE PYTHON_VERSION + RESULT_VARIABLE PYTHON_VERSION_SUCCESS + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(MCC_CNOID_CONFIG_FILE_LIST rtc.conf.choreonoid robot.conf @@ -5,6 +11,7 @@ set(MCC_CNOID_CONFIG_FILE_LIST PDcontroller.conf.choreonoid PDgains_sim.dat ) + foreach(CNOID_CONFIG_FILE IN LISTS MCC_CNOID_CONFIG_FILE_LIST) execute_process(COMMAND cmake -E create_symlink "${HRPSYSBASE_PREFIX}/share/hrpsys/samples/JVRC1/${CNOID_CONFIG_FILE}" diff --git a/cnoid/project/MCC_JVRC1_SampleField.in.cnoid b/cnoid/project/MCC_JVRC1_SampleField.in.cnoid index 3cb8874..19cdd5d 100644 --- a/cnoid/project/MCC_JVRC1_SampleField.in.cnoid +++ b/cnoid/project/MCC_JVRC1_SampleField.in.cnoid @@ -530,7 +530,7 @@ OpenRTM: "deleteUnmanagedRTCsOnStartingSimulation": true Python: "moduleSearchPath": - - @HRPSYSBASE_PREFIX@/lib/python2.7/dist-packages/hrpsys + - @HRPSYSBASE_PREFIX@/lib/python@PYTHON_VERSION@/dist-packages/hrpsys viewAreas: - type: embedded From 93c6fc0890dc82709ee1914e102e4b3437c1e8ee Mon Sep 17 00:00:00 2001 From: Thomas <43036801+ThomasDuvinage@users.noreply.github.com> Date: Tue, 6 Aug 2024 10:55:51 +0900 Subject: [PATCH 2/5] [CNOID] Consider python version of chorenoid To avoid any undefined modules within choreonoid, we should set the python version as the one used for choreonoid --- cnoid/project/CMakeLists.txt | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/cnoid/project/CMakeLists.txt b/cnoid/project/CMakeLists.txt index 7dbc76c..a41b0b2 100644 --- a/cnoid/project/CMakeLists.txt +++ b/cnoid/project/CMakeLists.txt @@ -1,8 +1,17 @@ -execute_process( - COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" - OUTPUT_VARIABLE PYTHON_VERSION - RESULT_VARIABLE PYTHON_VERSION_SUCCESS - OUTPUT_STRIP_TRAILING_WHITESPACE) + +if(NOT CNOID_USE_PYTHON2) + execute_process( + COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" + OUTPUT_VARIABLE PYTHON_VERSION + RESULT_VARIABLE PYTHON_VERSION_SUCCESS + OUTPUT_STRIP_TRAILING_WHITESPACE) +else() + execute_process( + COMMAND python2 -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" + OUTPUT_VARIABLE PYTHON_VERSION + RESULT_VARIABLE PYTHON_VERSION_SUCCESS + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() set(MCC_CNOID_CONFIG_FILE_LIST rtc.conf.choreonoid From 3d7fc55c7d9223107a109ae0c1c881460367b8ab Mon Sep 17 00:00:00 2001 From: ThomasDuvinage Date: Wed, 7 Aug 2024 11:26:01 +0900 Subject: [PATCH 3/5] [CI] Add python version check --- .github/workflows/ci.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 72e0c58..a2b2d1b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -126,6 +126,11 @@ jobs: catkin-test-args: --no-deps build-packages: multi_contact_controller test-packages: multi_contact_controller + - name: Check python + run: | + set -e + set -x + python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" - name: Run simulation if: env.RUN_SIMULATION_STEPS == 'true' # https://github.com/jrl-umi3218/lipm_walking_controller/blob/b564d655388ae6a6725c504e5c74a62192e58c7c/.github/workflows/build.yml#L64-L92 From ef5bf9844a52f4005bf868483ceb90884153b39b Mon Sep 17 00:00:00 2001 From: ThomasDuvinage Date: Wed, 7 Aug 2024 13:39:23 +0900 Subject: [PATCH 4/5] [CMake] Add ENABLE_PYTHON3 option (default OFF) and update python version detection --- CMakeLists.txt | 1 + cnoid/project/CMakeLists.txt | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 585beef..bfd18c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ set(CMAKE_COLOR_DIAGNOSTICS ON) option(ENABLE_CNOID "Install Choreonoid files" ON) option(ENABLE_MUJOCO "Install MuJoCo files" OFF) option(INSTALL_DOCUMENTATION "Generate and install the documentation" OFF) +option(ENABLE_PYTHON3 "Enable usagen of python3" OFF) include(cmake/base.cmake) project(multi_contact_controller LANGUAGES CXX) diff --git a/cnoid/project/CMakeLists.txt b/cnoid/project/CMakeLists.txt index a41b0b2..b76fc67 100644 --- a/cnoid/project/CMakeLists.txt +++ b/cnoid/project/CMakeLists.txt @@ -1,7 +1,7 @@ -if(NOT CNOID_USE_PYTHON2) +if(ENABLE_PYTHON3) execute_process( - COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" + COMMAND python3 -c "import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" OUTPUT_VARIABLE PYTHON_VERSION RESULT_VARIABLE PYTHON_VERSION_SUCCESS OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -12,6 +12,15 @@ else() RESULT_VARIABLE PYTHON_VERSION_SUCCESS OUTPUT_STRIP_TRAILING_WHITESPACE) endif() +if(NOT PYTHON_VERSION_SUCCESS STREQUAL 0) + message("Python version failed to be detected") + execute_process( + COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" + OUTPUT_VARIABLE PYTHON_VERSION + RESULT_VARIABLE PYTHON_VERSION_SUCCESS + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +message("-- Python version detected: ${PYTHON_VERSION}") set(MCC_CNOID_CONFIG_FILE_LIST rtc.conf.choreonoid From 02ccee2d0a446dd364f9ba69883e7d5c00ada593 Mon Sep 17 00:00:00 2001 From: ThomasDuvinage Date: Thu, 8 Aug 2024 10:20:17 +0900 Subject: [PATCH 5/5] [CMake] Consider choreonoid/choreonoid#41 to get the Python version used in choreonoid --- CMakeLists.txt | 1 - cnoid/project/CMakeLists.txt | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bfd18c1..585beef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,6 @@ set(CMAKE_COLOR_DIAGNOSTICS ON) option(ENABLE_CNOID "Install Choreonoid files" ON) option(ENABLE_MUJOCO "Install MuJoCo files" OFF) option(INSTALL_DOCUMENTATION "Generate and install the documentation" OFF) -option(ENABLE_PYTHON3 "Enable usagen of python3" OFF) include(cmake/base.cmake) project(multi_contact_controller LANGUAGES CXX) diff --git a/cnoid/project/CMakeLists.txt b/cnoid/project/CMakeLists.txt index b76fc67..ae905fe 100644 --- a/cnoid/project/CMakeLists.txt +++ b/cnoid/project/CMakeLists.txt @@ -1,5 +1,4 @@ - -if(ENABLE_PYTHON3) +if(NOT ${CHOREONOID_USE_PYTHON2}) execute_process( COMMAND python3 -c "import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" OUTPUT_VARIABLE PYTHON_VERSION @@ -13,7 +12,6 @@ else() OUTPUT_STRIP_TRAILING_WHITESPACE) endif() if(NOT PYTHON_VERSION_SUCCESS STREQUAL 0) - message("Python version failed to be detected") execute_process( COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_config_var(\"VERSION\"))" OUTPUT_VARIABLE PYTHON_VERSION