fix: improve Python detection in manylinux environment
- Modify faiss CMakeLists.txt to try both FindPython and FindPython3 - Add scikit-build configuration to help with Python detection - Simplify Linux environment variables in cibuildwheel - Add CMake Python detection before faiss configuration
This commit is contained in:
21
.github/workflows/build-cibuildwheel.yml
vendored
21
.github/workflows/build-cibuildwheel.yml
vendored
@@ -59,6 +59,13 @@ jobs:
|
|||||||
# Install numpy before building
|
# Install numpy before building
|
||||||
CIBW_BEFORE_BUILD: |
|
CIBW_BEFORE_BUILD: |
|
||||||
pip install numpy
|
pip install numpy
|
||||||
|
pip install --upgrade pip setuptools wheel
|
||||||
|
|
||||||
|
CIBW_BEFORE_BUILD_LINUX: |
|
||||||
|
pip install numpy
|
||||||
|
pip install --upgrade pip setuptools wheel
|
||||||
|
# 确保Python开发文件可用
|
||||||
|
python -m pip install --force-reinstall numpy
|
||||||
|
|
||||||
CIBW_BEFORE_ALL_MACOS: |
|
CIBW_BEFORE_ALL_MACOS: |
|
||||||
brew install boost zeromq openblas cmake libomp
|
brew install boost zeromq openblas cmake libomp
|
||||||
@@ -76,8 +83,6 @@ jobs:
|
|||||||
# Linux-specific environment variables
|
# Linux-specific environment variables
|
||||||
CIBW_ENVIRONMENT_LINUX: |
|
CIBW_ENVIRONMENT_LINUX: |
|
||||||
CMAKE_BUILD_PARALLEL_LEVEL=8
|
CMAKE_BUILD_PARALLEL_LEVEL=8
|
||||||
Python_FIND_VIRTUALENV=ONLY
|
|
||||||
Python3_FIND_VIRTUALENV=ONLY
|
|
||||||
|
|
||||||
- name: Build leann-backend-diskann wheels
|
- name: Build leann-backend-diskann wheels
|
||||||
uses: pypa/cibuildwheel@v2.20.0
|
uses: pypa/cibuildwheel@v2.20.0
|
||||||
@@ -99,6 +104,13 @@ jobs:
|
|||||||
# Install numpy before building
|
# Install numpy before building
|
||||||
CIBW_BEFORE_BUILD: |
|
CIBW_BEFORE_BUILD: |
|
||||||
pip install numpy
|
pip install numpy
|
||||||
|
pip install --upgrade pip setuptools wheel
|
||||||
|
|
||||||
|
CIBW_BEFORE_BUILD_LINUX: |
|
||||||
|
pip install numpy
|
||||||
|
pip install --upgrade pip setuptools wheel
|
||||||
|
# 确保Python开发文件可用
|
||||||
|
python -m pip install --force-reinstall numpy
|
||||||
|
|
||||||
CIBW_BEFORE_ALL_MACOS: |
|
CIBW_BEFORE_ALL_MACOS: |
|
||||||
brew install boost zeromq openblas cmake libomp
|
brew install boost zeromq openblas cmake libomp
|
||||||
@@ -116,6 +128,11 @@ jobs:
|
|||||||
CMAKE_BUILD_PARALLEL_LEVEL=8
|
CMAKE_BUILD_PARALLEL_LEVEL=8
|
||||||
Python_FIND_VIRTUALENV=ONLY
|
Python_FIND_VIRTUALENV=ONLY
|
||||||
Python3_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
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -24,6 +24,23 @@ set(MSGPACK_USE_BOOST OFF CACHE BOOL "" FORCE)
|
|||||||
add_compile_definitions(MSGPACK_NO_BOOST)
|
add_compile_definitions(MSGPACK_NO_BOOST)
|
||||||
include_directories(third_party/msgpack-c/include)
|
include_directories(third_party/msgpack-c/include)
|
||||||
|
|
||||||
|
# Find Python before configuring Faiss
|
||||||
|
# Check if we're in scikit-build environment
|
||||||
|
if(DEFINED SKBUILD)
|
||||||
|
message(STATUS "Building with scikit-build, using provided Python")
|
||||||
|
# scikit-build-core provides Python_* variables
|
||||||
|
else()
|
||||||
|
find_package(Python REQUIRED COMPONENTS Interpreter Development NumPy)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# 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_LIBRARIES: ${Python_LIBRARIES}")
|
||||||
|
message(STATUS "Python_NumPy_INCLUDE_DIRS: ${Python_NumPy_INCLUDE_DIRS}")
|
||||||
|
|
||||||
# Faiss configuration - streamlined build
|
# Faiss configuration - streamlined build
|
||||||
set(FAISS_ENABLE_PYTHON ON CACHE BOOL "" FORCE)
|
set(FAISS_ENABLE_PYTHON ON CACHE BOOL "" FORCE)
|
||||||
set(FAISS_ENABLE_GPU OFF CACHE BOOL "" FORCE)
|
set(FAISS_ENABLE_GPU OFF CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@@ -25,3 +25,4 @@ cmake.verbose = true
|
|||||||
# CMake definitions to optimize compilation
|
# CMake definitions to optimize compilation
|
||||||
[tool.scikit-build.cmake.define]
|
[tool.scikit-build.cmake.define]
|
||||||
CMAKE_BUILD_PARALLEL_LEVEL = "8"
|
CMAKE_BUILD_PARALLEL_LEVEL = "8"
|
||||||
|
SKBUILD_SOABI = "YES"
|
||||||
Reference in New Issue
Block a user