安装自定义依赖
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
文件:
_10uv add DEPENDENCY
安装可选依赖组
Langflow OSS 提供了扩展其功能的可选依赖组。
这些依赖项在 pyproject.toml 文件的 [project.optional-dependencies]
部下列出。
使用 pip 的 [extras]
语法安装依赖组。例如,要安装带有 postgresql
依赖组的 Langflow,请输入以下命令:
_10uv pip install "langflow[postgresql]"
要安装多个扩展,请使用逗号分隔每个依赖组:
_10uv pip install "langflow[local,postgresql]"
使用虚拟环境测试自定义依赖
在本地测试时,使用虚拟环境来隔离您的依赖,并防止与其他 Python 项目发生冲突。
例如,如果您想使用 matplotlib
进行实验:
_10# 创建并激活虚拟环境_10uv venv YOUR_LANGFLOW_VENV_10source YOUR_LANGFLOW_VENV/bin/activate_10_10# 安装 langflow 和您的额外依赖_10uv pip install langflow matplotlib
如果您在克隆的 Langflow 仓库中工作,请使用 uv add
添加依赖以引用现有的 pyproject.toml
文件 :
_10uv add matplotlib
uv add
命令会自动在适当的位置更新 uv.lock
文件。
向 Langflow 代码库添加依赖
为 Langflow 代码库做贡献时,您可能需要向 Langflow 添加依赖。
Langflow 使用一个包含两个包的工作区,每个包都有不同类型的依赖。
要向 main
包添加依赖,请在项目根目录下运行 uv add DEPENDENCY
。
例如:
_10uv add matplotlib
依赖可以作为常规依赖添加到 main
包的 [project.dependencies]
中,或者作为可选依赖添加到 [project.optional-dependencies]
中。
要向 base
包添加依赖,请导航到 src/backend/base
并运行:
_10cd src/backend/base && uv add DEPENDENCY
要为测试、代码检查或调试添加开发依赖,请导航到 src/backend/base
并运行:
_10cd 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_10make add main="matplotlib"_10_10# 等价于: cd src/backend/base && uv add --group dev matplotlib_10make add devel="matplotlib"_10_10# 等价于: cd src/backend/base && uv add matplotlib_10make add base="matplotlib"
或者,您可以将这些依赖手动添加到适当的 pyproject.toml
文件中:
_10[project]_10dependencies = [_10 "matplotlib>=3.8.0"_10]
或者作为主包中的可选依赖:
_10[project.optional-dependencies]_10plotting = [_10 "matplotlib>=3.8.0",_10]
或者作为基础包中的开发依赖:
_10[dependency-groups]_10dev = [_10 "matplotlib>=3.8.0",_10]