fix: re-enable Faiss Python bindings and improve Python finding
- Re-enable FAISS_ENABLE_PYTHON since we need the Python bindings - Use Development.Module component for better compatibility - Pass Python information to Faiss through CMake cache variables - Add CMAKE_PREFIX_PATH= to help CMake find Python in manylinux
This commit is contained in:
2
.github/workflows/build-cibuildwheel.yml
vendored
2
.github/workflows/build-cibuildwheel.yml
vendored
@@ -122,11 +122,11 @@ jobs:
|
||||
# Linux-specific environment variables
|
||||
CIBW_ENVIRONMENT_LINUX: |
|
||||
CMAKE_BUILD_PARALLEL_LEVEL=8
|
||||
CMAKE_PREFIX_PATH=$VIRTUAL_ENV
|
||||
Python_FIND_VIRTUALENV=ONLY
|
||||
Python3_FIND_VIRTUALENV=ONLY
|
||||
Python_FIND_STRATEGY=LOCATION
|
||||
Python3_FIND_STRATEGY=LOCATION
|
||||
CMAKE_PREFIX_PATH=$VIRTUAL_ENV
|
||||
Python_EXECUTABLE=$VIRTUAL_ENV/bin/python
|
||||
Python3_EXECUTABLE=$VIRTUAL_ENV/bin/python
|
||||
|
||||
|
||||
@@ -30,8 +30,34 @@ if(DEFINED SKBUILD)
|
||||
# scikit-build-core provides Python information
|
||||
endif()
|
||||
|
||||
# Find Python - scikit-build-core should provide this
|
||||
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module NumPy)
|
||||
|
||||
# Print Python information for debugging
|
||||
message(STATUS "Python_FOUND: ${Python_FOUND}")
|
||||
message(STATUS "Python_VERSION: ${Python_VERSION}")
|
||||
message(STATUS "Python_EXECUTABLE: ${Python_EXECUTABLE}")
|
||||
message(STATUS "Python_INCLUDE_DIRS: ${Python_INCLUDE_DIRS}")
|
||||
message(STATUS "Python_NumPy_INCLUDE_DIRS: ${Python_NumPy_INCLUDE_DIRS}")
|
||||
|
||||
# Pass Python information to faiss through cache variables
|
||||
set(Python_EXECUTABLE ${Python_EXECUTABLE} CACHE FILEPATH "Python executable" FORCE)
|
||||
set(Python_INCLUDE_DIRS ${Python_INCLUDE_DIRS} CACHE PATH "Python include dirs" FORCE)
|
||||
set(Python_NumPy_INCLUDE_DIRS ${Python_NumPy_INCLUDE_DIRS} CACHE PATH "NumPy include dirs" FORCE)
|
||||
set(Python_VERSION ${Python_VERSION} CACHE STRING "Python version" FORCE)
|
||||
set(Python_FOUND ${Python_FOUND} CACHE BOOL "Python found" FORCE)
|
||||
|
||||
# Also set Python3 variables for compatibility
|
||||
set(Python3_EXECUTABLE ${Python_EXECUTABLE} CACHE FILEPATH "Python3 executable" FORCE)
|
||||
set(Python3_INCLUDE_DIRS ${Python_INCLUDE_DIRS} CACHE PATH "Python3 include dirs" FORCE)
|
||||
set(Python3_NumPy_INCLUDE_DIRS ${Python_NumPy_INCLUDE_DIRS} CACHE PATH "NumPy include dirs" FORCE)
|
||||
set(Python3_VERSION ${Python_VERSION} CACHE STRING "Python3 version" FORCE)
|
||||
set(Python3_FOUND ${Python_FOUND} CACHE BOOL "Python3 found" FORCE)
|
||||
set(Python3_Development_FOUND TRUE CACHE BOOL "Python3 development found" FORCE)
|
||||
set(Python3_NumPy_FOUND TRUE CACHE BOOL "Python3 NumPy found" FORCE)
|
||||
|
||||
# Faiss configuration - streamlined build
|
||||
set(FAISS_ENABLE_PYTHON OFF CACHE BOOL "" FORCE)
|
||||
set(FAISS_ENABLE_PYTHON ON CACHE BOOL "" FORCE)
|
||||
set(FAISS_ENABLE_GPU OFF CACHE BOOL "" FORCE)
|
||||
set(FAISS_ENABLE_EXTRAS OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_TESTING OFF CACHE BOOL "" FORCE)
|
||||
|
||||
Reference in New Issue
Block a user