安装自定义依赖 (Install custom dependencies)
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。
在 requirements.txt 中每行添加一个依赖,格式为 DEPENDENCY==VERSION,例如 matplotlib==3.10.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 项目发生冲突。
例如,如果您想在 Langflow 中尝试使用 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]
或者作为 main 包中的可选依赖:
_10[project.optional-dependencies]_10plotting = [_10 "matplotlib>=3.8.0",_10]
或者作为 base 包中的开发依赖:
_10[dependency-groups]_10dev = [_10 "matplotlib>=3.8.0",_10]