Skip to content

FindPythonLibsNew.cmake finds wrong python interpreter when using pyenv #2154

Description

@hakonhagland

I created a simple test module example/example.cpp using the pybind11 library, then to compile it I used CMakeLists.txt :

cmake_minimum_required(VERSION 2.8.12)
project(example)
set(PYBIND_DIR "/home/hakon/pybind11/pybind11")
add_subdirectory(${PYBIND_DIR} pybind11)
pybind11_add_module(example example/example.cpp)

then created a build folder, and ran cmake:

mkdir build
cd build
cmake ..

The output is:

-- Found PythonInterp: /home/hakon/.pyenv/shims/python3.8 (found version "1.4") CMake Error at /home/hakon/pybind11/pybind11/tools/FindPythonLibsNew.cmake:96 (message):
Python config failure:
pyenv: python3.8: command not found
The `python3.8' command exists in these Python versions:
3.8.0
3.8.0-debug
Call Stack (most recent call first):
/home/hakon/pybind11/pybind11/tools/pybind11Tools.cmake:16 (find_package)
/home/hakon/pybind11/pybind11/CMakeLists.txt:33 (include)
-- Configuring incomplete, errors occurred!
See also "/home/hakon/pybind11/test/build/CMakeFiles/CMakeOutput.log".

I am using pyenv with the following versions installed:

$ pyenv versions
system
2.7.16
* 3.7.3 (set by /home/hakon/.pyenv/version)
3.8.0
3.8.0-debug

Notice that pybind11Tools.cmake finds the version 3.8.0 even though the current is set to 3.7.3. If I shift to version 3.8.0 it runs fine:

$ pyenv local 3.8.0
$ cmake ..
-- Found PythonInterp: /home/hakon/.pyenv/shims/python3.8 (found version "3.8") -- Found PythonLibs: /home/hakon/.pyenv/versions/3.8.0/lib/libpython3.8.a
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- pybind11 v2.5.dev1
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- LTO enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hakon/pybind11/test/build

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions