diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt
index d508c8a70bdb7d85fd4bb6d7c7f6d735a8b5d3d9..96eeb1dda34e582713b451de4dd3dc08f0d62e9b 100644
--- a/bindings/python/CMakeLists.txt
+++ b/bindings/python/CMakeLists.txt
@@ -23,12 +23,11 @@ if(ADIOS2_HAVE_MPI)
   target_link_libraries(adios2py PRIVATE PythonModule::mpi4py)
 endif()
 
-find_package(PythonInterp REQUIRED)
-set(python_package_dir ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}/site-packages)
+string(REGEX REPLACE "^${PYTHON_PREFIX}/" ""
+  python_package_dir "${PYTHON_SITE_PACKAGES}"
+)
 set_target_properties(adios2py PROPERTIES
   OUTPUT_NAME adios2
-  PREFIX "${PYTHON_MODULE_PREFIX}"
-  SUFFIX "${PYTHON_MODULE_EXTENSION}"
   LIBRARY_OUTPUT_DIRECTORY ${ADIOS2_BINARY_DIR}/${python_package_dir}
   RUNTIME_OUTPUT_DIRECTORY ${ADIOS2_BINARY_DIR}/${python_package_dir}
 )
diff --git a/cmake/DetectOptions.cmake b/cmake/DetectOptions.cmake
index e4f366cf528c1b402c6cacb2290b221fe855c645..562a6b30f4337e79e7ea3571d02ed40cb61b12b3 100644
--- a/cmake/DetectOptions.cmake
+++ b/cmake/DetectOptions.cmake
@@ -85,9 +85,13 @@ elseif(ADIOS2_USE_ADIOS1)
 endif()
 
 # Python
+# Use the FindPythonLibsNew from pybind11
+list(INSERT CMAKE_MODULE_PATH 0
+  "${ADIOS2_SOURCE_DIR}/thirdparty/pybind11/pybind11/tools"
+)
 if(ADIOS2_USE_Python STREQUAL AUTO)
   if(BUILD_SHARED_LIBS)
-    find_package(PythonLibs)
+    find_package(PythonLibsNew)
     if(PYTHONLIBS_FOUND)
       if(ADIOS2_HAVE_MPI)
         find_package(PythonModule COMPONENTS mpi4py mpi4py/mpi4py.h)