Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

run make init 报错了 #2345

Closed
java668 opened this issue Jun 25, 2024 · 5 comments
Closed

run make init 报错了 #2345

java668 opened this issue Jun 25, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@java668
Copy link

java668 commented Jun 25, 2024

/usr/bin/make -f /Users/apple/PycharmProjects/langflow/Makefile -C /Users/apple/PycharmProjects/langflow init
Installing backend dependencies
make install_backend
Installing backend dependencies
Installing dependencies from lock file

Package operations: 1 install, 1 update, 0 removals

  - Installing faiss-cpu (1.8.0.post1): Pending...
  - Installing faiss-cpu (1.8.0.post1): Preparing...
  - Installing faiss-cpu (1.8.0.post1): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel
  
  running bdist_wheel
  running build
  running build_py
  running build_ext
  building 'faiss._swigfaiss' extension
  swigging faiss/faiss/python/swigfaiss.i to faiss/faiss/python/swigfaiss_wrap.cpp
  swig -python -c++ -Doverride= -doxygen -Ifaiss -I/private/var/folders/kb/n8h2lhf93qx2g5fng94yq4jh0000gp/T/tmpbe5srd_f/.venv/lib/python3.10/site-packages/numpy/core/include -Ifaiss -I/usr/local/include -o faiss/faiss/python/swigfaiss_wrap.cpp faiss/faiss/python/swigfaiss.i
  faiss/faiss/python/swigfaiss.i:276: Error: Unable to find 'faiss/impl/platform_macros.h'
  faiss/faiss/python/swigfaiss.i:280: Error: Unable to find 'faiss/utils/ordered_key_value.h'
  faiss/faiss/python/swigfaiss.i:281: Error: Unable to find 'faiss/utils/Heap.h'
  faiss/faiss/python/swigfaiss.i:286: Error: Unable to find 'faiss/utils/AlignedTable.h'
  faiss/faiss/python/swigfaiss.i:287: Error: Unable to find 'faiss/utils/partitioning.h'
  faiss/faiss/python/swigfaiss.i:288: Error: Unable to find 'faiss/utils/hamming.h'
  faiss/faiss/python/swigfaiss.i:289: Error: Unable to find 'faiss/utils/hamming_distance/common.h'
  faiss/faiss/python/swigfaiss.i:394: Error: Unable to find 'faiss/utils/utils.h'
  faiss/faiss/python/swigfaiss.i:398: Error: Unable to find 'faiss/utils/distances.h'
  faiss/faiss/python/swigfaiss.i:399: Error: Unable to find 'faiss/utils/random.h'
  faiss/faiss/python/swigfaiss.i:400: Error: Unable to find 'faiss/utils/sorting.h'
  faiss/faiss/python/swigfaiss.i:402: Error: Unable to find 'faiss/MetricType.h'
  faiss/faiss/python/swigfaiss.i:407: Error: Unable to find 'faiss/Index.h'
  faiss/faiss/python/swigfaiss.i:409: Error: Unable to find 'faiss/impl/DistanceComputer.h'
  faiss/faiss/python/swigfaiss.i:412: Error: Unable to find 'faiss/IndexFlatCodes.h'
  faiss/faiss/python/swigfaiss.i:413: Error: Unable to find 'faiss/IndexFlat.h'
  faiss/faiss/python/swigfaiss.i:414: Error: Unable to find 'faiss/Clustering.h'
  faiss/faiss/python/swigfaiss.i:416: Error: Unable to find 'faiss/utils/extra_distances.h'
  faiss/faiss/python/swigfaiss.i:420: Error: Unable to find 'faiss/impl/Quantizer.h'
  faiss/faiss/python/swigfaiss.i:421: Error: Unable to find 'faiss/impl/ProductQuantizer.h'
  faiss/faiss/python/swigfaiss.i:422: Error: Unable to find 'faiss/impl/AdditiveQuantizer.h'
  faiss/faiss/python/swigfaiss.i:423: Error: Unable to find 'faiss/impl/residual_quantizer_encode_steps.h'
  faiss/faiss/python/swigfaiss.i:424: Error: Unable to find 'faiss/impl/ResidualQuantizer.h'
  faiss/faiss/python/swigfaiss.i:425: Error: Unable to find 'faiss/impl/LocalSearchQuantizer.h'
  faiss/faiss/python/swigfaiss.i:426: Error: Unable to find 'faiss/impl/ProductAdditiveQuantizer.h'
  faiss/faiss/python/swigfaiss.i:427: Error: Unable to find 'faiss/impl/CodePacker.h'
  faiss/faiss/python/swigfaiss.i:429: Error: Unable to find 'faiss/VectorTransform.h'
  faiss/faiss/python/swigfaiss.i:430: Error: Unable to find 'faiss/IndexPreTransform.h'
  faiss/faiss/python/swigfaiss.i:431: Error: Unable to find 'faiss/IndexRefine.h'
  faiss/faiss/python/swigfaiss.i:432: Error: Unable to find 'faiss/IndexLSH.h'
  faiss/faiss/python/swigfaiss.i:433: Error: Unable to find 'faiss/impl/PolysemousTraining.h'
  faiss/faiss/python/swigfaiss.i:434: Error: Unable to find 'faiss/IndexPQ.h'
  faiss/faiss/python/swigfaiss.i:435: Error: Unable to find 'faiss/IndexAdditiveQuantizer.h'
  faiss/faiss/python/swigfaiss.i:436: Error: Unable to find 'faiss/impl/io.h'
  faiss/faiss/python/swigfaiss.i:438: Error: Unable to find 'faiss/invlists/InvertedLists.h'
  faiss/faiss/python/swigfaiss.i:439: Error: Unable to find 'faiss/invlists/InvertedListsIOHook.h'
  faiss/faiss/python/swigfaiss.i:441: Error: Unable to find 'faiss/invlists/BlockInvertedLists.h'
  faiss/faiss/python/swigfaiss.i:442: Error: Unable to find 'faiss/invlists/DirectMap.h'
  faiss/faiss/python/swigfaiss.i:443: Error: Unable to find 'faiss/IndexIVF.h'
  faiss/faiss/python/swigfaiss.i:448: Error: Unable to find 'faiss/IVFlib.h'
  faiss/faiss/python/swigfaiss.i:449: Error: Unable to find 'faiss/impl/ScalarQuantizer.h'
  faiss/faiss/python/swigfaiss.i:450: Error: Unable to find 'faiss/IndexScalarQuantizer.h'
  faiss/faiss/python/swigfaiss.i:451: Error: Unable to find 'faiss/IndexIVFSpectralHash.h'
  faiss/faiss/python/swigfaiss.i:452: Error: Unable to find 'faiss/IndexIVFAdditiveQuantizer.h'
  faiss/faiss/python/swigfaiss.i:453: Error: Unable to find 'faiss/impl/HNSW.h'
  faiss/faiss/python/swigfaiss.i:454: Error: Unable to find 'faiss/IndexHNSW.h'
  faiss/faiss/python/swigfaiss.i:456: Error: Unable to find 'faiss/impl/kmeans1d.h'
  faiss/faiss/python/swigfaiss.i:459: Error: Unable to find 'faiss/impl/NNDescent.h'
  faiss/faiss/python/swigfaiss.i:460: Error: Unable to find 'faiss/IndexNNDescent.h'
  faiss/faiss/python/swigfaiss.i:462: Error: Unable to find 'faiss/IndexIVFFlat.h'
  faiss/faiss/python/swigfaiss.i:466: Error: Unable to find 'faiss/impl/NSG.h'
  faiss/faiss/python/swigfaiss.i:477: Error: Unable to find 'faiss/IndexNSG.h'
  faiss/faiss/python/swigfaiss.i:482: Error: Unable to find 'faiss/invlists/OnDiskInvertedLists.h'
  faiss/faiss/python/swigfaiss.i:485: Error: Unable to find 'faiss/impl/lattice_Zn.h'
  faiss/faiss/python/swigfaiss.i:486: Error: Unable to find 'faiss/IndexLattice.h'
  faiss/faiss/python/swigfaiss.i:489: Error: Unable to find 'faiss/IndexIVFPQ.h'
  faiss/faiss/python/swigfaiss.i:490: Error: Unable to find 'faiss/IndexIVFPQR.h'
  faiss/faiss/python/swigfaiss.i:491: Error: Unable to find 'faiss/Index2Layer.h'
  faiss/faiss/python/swigfaiss.i:493: Error: Unable to find 'faiss/IndexFastScan.h'
  faiss/faiss/python/swigfaiss.i:494: Error: Unable to find 'faiss/IndexAdditiveQuantizerFastScan.h'
  faiss/faiss/python/swigfaiss.i:495: Error: Unable to find 'faiss/IndexPQFastScan.h'
  faiss/faiss/python/swigfaiss.i:500: Error: Unable to find 'faiss/impl/simd_result_handlers.h'
  faiss/faiss/python/swigfaiss.i:501: Error: Unable to find 'faiss/IndexIVFFastScan.h'
  faiss/faiss/python/swigfaiss.i:502: Error: Unable to find 'faiss/IndexIVFAdditiveQuantizerFastScan.h'
  faiss/faiss/python/swigfaiss.i:503: Error: Unable to find 'faiss/IndexIVFIndependentQuantizer.h'
  faiss/faiss/python/swigfaiss.i:505: Error: Unable to find 'faiss/IndexIVFPQFastScan.h'
  faiss/faiss/python/swigfaiss.i:506: Error: Unable to find 'faiss/utils/quantize_lut.h'
  faiss/faiss/python/swigfaiss.i:508: Error: Unable to find 'faiss/IndexBinary.h'
  faiss/faiss/python/swigfaiss.i:509: Error: Unable to find 'faiss/IndexBinaryFlat.h'
  faiss/faiss/python/swigfaiss.i:510: Error: Unable to find 'faiss/IndexBinaryIVF.h'
  faiss/faiss/python/swigfaiss.i:511: Error: Unable to find 'faiss/IndexBinaryFromFloat.h'
  faiss/faiss/python/swigfaiss.i:512: Error: Unable to find 'faiss/IndexBinaryHNSW.h'
  faiss/faiss/python/swigfaiss.i:513: Error: Unable to find 'faiss/IndexBinaryHash.h'
  faiss/faiss/python/swigfaiss.i:515: Error: Unable to find 'faiss/impl/ThreadedIndex.h'
  faiss/faiss/python/swigfaiss.i:519: Error: Unable to find 'faiss/IndexShards.h'
  faiss/faiss/python/swigfaiss.i:522: Error: Unable to find 'faiss/IndexShardsIVF.h'
  faiss/faiss/python/swigfaiss.i:524: Error: Unable to find 'faiss/IndexReplicas.h'
  faiss/faiss/python/swigfaiss.i:528: Error: Unable to find 'faiss/MetaIndexes.h'
  faiss/faiss/python/swigfaiss.i:530: Error: Unable to find 'faiss/IndexRowwiseMinMax.h'
  faiss/faiss/python/swigfaiss.i:540: Error: Unable to find 'faiss/impl/AuxIndexStructures.h'
  faiss/faiss/python/swigfaiss.i:541: Error: Unable to find 'faiss/impl/IDSelector.h'
  faiss/faiss/python/swigfaiss.i:543: Error: Unable to find 'faiss/IndexIDMap.h'
  faiss/faiss/python/swigfaiss.i:550: Error: Unable to find 'faiss/utils/approx_topk/mode.h'
  faiss/faiss/python/swigfaiss.i:792: Error: Unable to find 'faiss/index_io.h'
  faiss/faiss/python/swigfaiss.i:793: Error: Unable to find 'faiss/clone_index.h'
  faiss/faiss/python/swigfaiss.i:797: Error: Unable to find 'faiss/AutoTune.h'
  faiss/faiss/python/swigfaiss.i:798: Error: Unable to find 'faiss/index_factory.h'
  faiss/faiss/python/swigfaiss.i:799: Error: Unable to find 'faiss/MatrixStats.h'
  error: command '/usr/local/bin/swig' failed with exit code 1
  

  at /usr/local/lib/python3.11/site-packages/poetry/installation/chef.py:164 in _prepare
      160│ 
      161│                 error = ChefBuildError("\n\n".join(message_parts))
      162│ 
      163│             if error is not None:
    → 164│                 raise error from None
      165│ 
      166│             return path
      167│ 
      168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with faiss-cpu (1.8.0.post1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "faiss-cpu (==1.8.0.post1)"'.

  - Downgrading langflow-base (0.0.79 /Users/apple/PycharmProjects/langflow/src/backend/base -> 0.0.78 /Users/apple/PycharmProjects/langflow/src/backend/base): Pending...
  - Downgrading langflow-base (0.0.79 /Users/apple/PycharmProjects/langflow/src/backend/base -> 0.0.78 /Users/apple/PycharmProjects/langflow/src/backend/base): Preparing...
  - Downgrading langflow-base (0.0.79 /Users/apple/PycharmProjects/langflow/src/backend/base -> 0.0.78 /Users/apple/PycharmProjects/langflow/src/backend/base): Installing...
  - Downgrading langflow-base (0.0.79 /Users/apple/PycharmProjects/langflow/src/backend/base -> 0.0.78 /Users/apple/PycharmProjects/langflow/src/backend/base)
make[1]: *** [install_backend] Error 1
make: *** [init] Error 2

Process finished with exit code 2

麻烦帮忙看看

@dosubot dosubot bot added the bug Something isn't working label Jun 25, 2024
Copy link

dosubot bot commented Jun 25, 2024

Hey @java668! I'm here to help with any issues you're facing. I can assist with bugs, questions, or becoming a contributor. Let's tackle this together!

要解决在运行 make init 时遇到的 faiss-cpu (1.8.0.post1) 不支持 PEP 517 构建以及构建过程中缺少头文件的问题,可以尝试以下步骤:

  1. 添加 pyproject.toml 配置
    在项目根目录下创建或修改 pyproject.toml 文件,添加以下内容以指定构建系统的要求:

    [build-system]
    requires = ["poetry-core", "setuptools", "wheel"]
    build-backend = "poetry.core.masonry.api"

    这将确保在构建过程中可用的必要构建工具,从而解决与 PEP 517 构建和缺少头文件相关的问题[1]

  2. 设置环境变量
    在 macOS 上构建 faiss-cpu 时,可能需要设置环境变量 OBJC_DISABLE_INITIALIZE_FORK_SAFETYYES。可以在运行 make init 之前执行以下命令:

    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

    或者在代码中设置该环境变量:

    import os
    import platform
    
    if platform.system() == "Darwin":
        os.environ["OBJC_DISABLE_INITIALIZE_FORK_SAFETY"] = "YES"

    这将避免在 macOS 上运行时出现的错误[2]

  3. 使用 Docker
    如果上述方法仍然无法解决问题,可以考虑使用 Docker 来构建和运行项目。langflow 仓库提供了一个 Dockerfile,可以帮助你绕过 macOS 上的构建问题。以下是 Dockerfile 的内容:

    FROM langflowai/backend_build as backend_build
    
    FROM python:3.10-slim
    WORKDIR /app
    
    RUN apt-get update && apt-get install git -y
    
    COPY --from=backend_build /app/dist/*.whl /app/
    RUN pip install langflow-*.whl
    RUN rm *.whl
    
    EXPOSE 80
    
    CMD [ "uvicorn", "--host", "0.0.0.0", "--port", "7860", "--factory", "langflow.main:create_app" ]

    你可以使用这个 Dockerfile 来构建和运行你的项目[3]

希望这些步骤能帮助你解决问题。

To continue talking to Dosu, mention @dosu.

@java668
Copy link
Author

java668 commented Jun 26, 2024

还是安装不了 faiss-cpu (1.8.0.post1)

@skipandsnow
Copy link
Contributor

还是安装不了 faiss-cpu (1.8.0.post1)

What I had done temporarily was to remove the caret in pyproject.toml and run poetry lock --no-update to regen the lock.

// remove the caret in pyproject.toml
faiss-cpu = "1.8.0"

// run this to regen the lock.
poetry lock --no-update

@java668
Copy link
Author

java668 commented Jun 28, 2024

还是安装不了 faiss-cpu (1.8.0.post1)

What I had done temporarily was to remove the caret in pyproject.toml and run poetry lock --no-update to regen the lock.

// remove the caret in pyproject.toml
faiss-cpu = "1.8.0"

// run this to regen the lock.
poetry lock --no-update

good

@java668 java668 closed this as completed Jun 28, 2024
@java668
Copy link
Author

java668 commented Jun 28, 2024

还是安装不了 faiss-cpu (1.8.0.post1)

What I had done temporarily was to remove the caret in pyproject.toml and run poetry lock --no-update to regen the lock.

// remove the caret in pyproject.toml
faiss-cpu = "1.8.0"

// run this to regen the lock.
poetry lock --no-update

很好,解决了我的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants