diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6e064e681060c1a50133f1294a5ef9187d5c59ea..a3d9831b7e2aa552b7d8b72e3957e0e73ecc27c9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,13 +41,23 @@ SET(PKG_CONFIG_ADDITIONAL_VARIABLES
 
 SETUP_PROJECT()
 # Search for dependencies.
-ADD_REQUIRED_DEPENDENCY("pinocchio >= 1.2.6")
 ADD_REQUIRED_DEPENDENCY("eigenpy")
+ADD_REQUIRED_DEPENDENCY("pinocchio >= 1.2.6")
 ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 3.0.0")
-ADD_REQUIRED_DEPENDENCY("dynamic-graph-python >= 3.0.0")
 ADD_REQUIRED_DEPENDENCY("sot-core >= 3.0.0")
 ADD_REQUIRED_DEPENDENCY("sot-tools >= 2.0.0")
 
+SET(BOOST_COMPONENTS filesystem system unit_test_framework)
+
+OPTION (BUILD_PYTHON_INTERFACE "Build the python binding" ON)
+IF(BUILD_PYTHON_INTERFACE)
+  FINDPYTHON()
+  ADD_REQUIRED_DEPENDENCY("dynamic-graph-python >= 3.0.0")
+  SET(BOOST_COMPONENTS ${BOOST_COMPONENTS} python)
+  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
+ENDIF(BUILD_PYTHON_INTERFACE)
+
+
 # List plug-ins that will be compiled.
 SET(plugins
   zmpreffromcom
@@ -67,10 +77,6 @@ LIST(APPEND plugins dynamic)
 # Add dependency toward sot-dynamic-pinocchio library in pkg-config file.
 PKG_CONFIG_APPEND_LIBS(${LIBRARY_NAME})
 
-# Search for dependencies.
-# Boost
-SET(BOOST_COMPONENTS filesystem system unit_test_framework python)
-FINDPYTHON()
 SEARCH_FOR_BOOST()
 SEARCH_FOR_EIGEN()
 
diff --git a/include/sot-dynamic-pinocchio/dynamic-pinocchio.h b/include/sot-dynamic-pinocchio/dynamic-pinocchio.h
index 8dba63766394a52db38097951c399961a2efa73e..5d0e6d8aec48a8de3d32364d8574de0d9994b33e 100644
--- a/include/sot-dynamic-pinocchio/dynamic-pinocchio.h
+++ b/include/sot-dynamic-pinocchio/dynamic-pinocchio.h
@@ -27,14 +27,11 @@
 
 
 /* STD */
-#include <Python.h>
 #include <string>
 #include <map>
 /* Matrix */
 #include <dynamic-graph/linear-algebra.h>
 
-/*Python API*/
-
 /* SOT */
 #include <sot/core/flags.hh>
 #include <dynamic-graph/entity.h>
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index d0d241b0449dc8726b4ebda2b91c2e6f5f8fd3b3..b76b0f71e65c4fc6f316b8c41dcbc5b86a6853cc 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -1,5 +1,6 @@
-INSTALL(
-  FILES kine_romeo.py kine_romeo_small.py
-  DESTINATION ${PYTHON_SITELIB}/dynamic_graph/tutorial
-)
-
+IF(BUILD_PYTHON_INTERFACE)
+  INSTALL(
+    FILES kine_romeo.py kine_romeo_small.py
+    DESTINATION ${PYTHON_SITELIB}/dynamic_graph/tutorial
+    )
+ENDIF(BUILD_PYTHON_INTERFACE)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3c29c101d38575ef00917e83d843919ed369efc8..c8df282a9224158bbfca8758ac22a8a4ea167544 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -50,12 +50,14 @@ FOREACH(lib ${plugins})
   INSTALL(TARGETS ${libname} DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR})
 
   # build python submodule
-  STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${lib})
+  IF(BUILD_PYTHON_INTERFACE)
+    STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${lib})
 
-  DYNAMIC_GRAPH_PYTHON_MODULE("sot/dynamics_pinocchio/${PYTHON_LIBRARY_NAME}"
-    ${libname}
-    sot-dynamic-pinocchio-${PYTHON_LIBRARY_NAME}-wrap
-    )
+    DYNAMIC_GRAPH_PYTHON_MODULE("sot/dynamics_pinocchio/${PYTHON_LIBRARY_NAME}"
+      ${libname}
+      sot-dynamic-pinocchio-${PYTHON_LIBRARY_NAME}-wrap
+      )
+  ENDIF(BUILD_PYTHON_INTERFACE)
   UNSET({libname})
 ENDFOREACH(lib)
 
@@ -73,10 +75,12 @@ INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
 TARGET_LINK_LIBRARIES(dp-dynamic ${LIBRARY_NAME})
 
 # Install empty __init__.py files in intermediate directories.
-INSTALL(FILES
-  ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/__init__.py
-  ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/humanoid_robot.py
-  ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/tools.py
-  ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/parser.py
-  DESTINATION ${PYTHON_SITELIB}/dynamic_graph/sot/dynamics_pinocchio
-  )
+IF(BUILD_PYTHON_INTERFACE)
+  INSTALL(FILES
+    ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/__init__.py
+    ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/humanoid_robot.py
+    ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/tools.py
+    ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/parser.py
+    DESTINATION ${PYTHON_SITELIB}/dynamic_graph/sot/dynamics_pinocchio
+    )
+ENDIF(BUILD_PYTHON_INTERFACE)
diff --git a/unitTesting/CMakeLists.txt b/unitTesting/CMakeLists.txt
index 3247e7fb1617a7abdfff27135d3c36511b4c264c..e45601685e2bb7f317551584fba7a5cc3adbeb2d 100644
--- a/unitTesting/CMakeLists.txt
+++ b/unitTesting/CMakeLists.txt
@@ -52,8 +52,6 @@ FOREACH(test ${tests})
   SET(EXECUTABLE_NAME "${test}_exe")
   ADD_EXECUTABLE(${EXECUTABLE_NAME}
     ${test}.cpp)
-  MESSAGE("PYTHON_INCLUDE_PATH: ${PYTHON_INCLUDE_PATH}")
-  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
 
   TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
     dp-zmpreffromcom
@@ -70,7 +68,9 @@ FOREACH(test ${tests})
   PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} pinocchio)
   PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} sot-core)
   PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph)
-  PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph-python)
+  IF(BUILD_PYTHON_INTERFACE)
+    PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph-python)
+  ENDIF(BUILD_PYTHON_INTERFACE)
 
   IF(${test}_plugins_dependencies)
     ADD_DEPENDENCIES(${EXECUTABLE_NAME} "${${test}_plugins_dependencies}")