跳到主要内容

安装自定义依赖

Langflow 提供了可选的依赖组和自定义依赖支持,以扩展 Langflow 的功能。本指南涵盖了如何为不同的 Langflow 安装添加依赖,包括 Langflow Desktop 和 Langflow OSS。

Langflow 代码库使用两个 pyproject.toml 文件来管理依赖,一个用于 base,一个用于 main

  • main 包由根目录的 pyproject.toml 管理,它包含最终用户功能和主应用程序代码,例如 Langchain 和 OpenAI。
  • base 包由 src/backend/base/pyproject.toml 管理,它包含核心基础设施,例如 FastAPI Web 框架。

在 Langflow Desktop 中安装自定义依赖

要向 Langflow Desktop 添加依赖,请在应用程序的 requirements.txt 文件中添加该软件包的条目:

  • 在 macOS 上,文件位于 /Users/USER/.langflow/data/requirements.txt
  • 在 Windows 上,文件位于 C:\Users\USER\AppData\Roaming\com.Langflow\data\requirements.txt

将每个依赖项以 DEPENDENCY==VERSION 的格式单独添加到 requirements.txt 中,例如 docling==2.40.0

重启 Langflow Desktop 以安装依赖。

如果您需要更改或卸载自定义依赖,请编辑 requirements.txt 文件,然后重启 Langflow Desktop。

在 Langflow OSS 中安装自定义依赖

要在您的 Langflow 环境中安装您自己的自定义依赖,请使用您的包管理器添加它们。

如果您在克隆的 Langflow 仓库中工作,请使用 uv add 添加依赖,因为已经存在一个供 uv 引用的 pyproject.toml 文件:


_10
uv add DEPENDENCY

安装可选依赖组

Langflow OSS 提供了扩展其功能的可选依赖组。

这些依赖项在 pyproject.toml 文件的 [project.optional-dependencies] 部下列出。

使用 pip 的 [extras] 语法安装依赖组。例如,要安装带有 postgresql 依赖组的 Langflow,请输入以下命令:


_10
uv pip install "langflow[postgresql]"

要安装多个扩展,请使用逗号分隔每个依赖组:


_10
uv pip install "langflow[local,postgresql]"

使用虚拟环境测试自定义依赖

在本地测试时,使用虚拟环境来隔离您的依赖,并防止与其他 Python 项目发生冲突。

例如,如果您想使用 matplotlib 进行实验:


_10
# 创建并激活虚拟环境
_10
uv venv YOUR_LANGFLOW_VENV
_10
source YOUR_LANGFLOW_VENV/bin/activate
_10
_10
# 安装 langflow 和您的额外依赖
_10
uv pip install langflow matplotlib

如果您在克隆的 Langflow 仓库中工作,请使用 uv add 添加依赖以引用现有的 pyproject.toml 文件:


_10
uv add matplotlib

uv add 命令会自动在适当的位置更新 uv.lock 文件。

向 Langflow 代码库添加依赖

为 Langflow 代码库做贡献时,您可能需要向 Langflow 添加依赖。

Langflow 使用一个包含两个包的工作区,每个包都有不同类型的依赖。

要向 main 包添加依赖,请在项目根目录下运行 uv add DEPENDENCY。 例如:


_10
uv add matplotlib

依赖可以作为常规依赖添加到 main 包的 [project.dependencies] 中,或者作为可选依赖添加到 [project.optional-dependencies] 中。

要向 base 包添加依赖,请导航到 src/backend/base 并运行:


_10
cd src/backend/base && uv add DEPENDENCY

要为测试、代码检查或调试添加开发依赖,请导航到 src/backend/base 并运行:


_10
cd src/backend/base && uv add --group dev DEPENDENCY

依赖可以作为常规依赖添加到 base 包的 [project.dependencies] 中,作为开发依赖添加到 [dependency-groups.dev] 中,或者作为可选依赖添加到 [project.optional-dependencies] 中。

您可以选择使用 make add 而不是 uv add


_10
# 等价于: uv add matplotlib
_10
make add main="matplotlib"
_10
_10
# 等价于: cd src/backend/base && uv add --group dev matplotlib
_10
make add devel="matplotlib"
_10
_10
# 等价于: cd src/backend/base && uv add matplotlib
_10
make add base="matplotlib"

或者,您可以将这些依赖手动添加到适当的 pyproject.toml 文件中:


_10
[project]
_10
dependencies = [
_10
"matplotlib>=3.8.0"
_10
]

或者作为主包中的可选依赖:


_10
[project.optional-dependencies]
_10
plotting = [
_10
"matplotlib>=3.8.0",
_10
]

或者作为基础包中的开发依赖:


_10
[dependency-groups]
_10
dev = [
_10
"matplotlib>=3.8.0",
_10
]

另请参阅

Search