PAYATHON 2026

如何在 pyproject.toml 项目中安装 GitLab PyPI 依赖?

数据小许

结论

pyproject.toml 的 [project].dependencies 用于声明依赖包,pip 包索引则需要通过 pip 命令、配置文件或环境变量指定。

你给出的命令无需提供 token 就能安装 rdmacontrol,说明当前索引允许匿名访问。可以按下面的方式配置项目。

在 pyproject.toml 中声明依赖

在依赖列表中填写发行包名。根据命令示例,包名是 rdmacontrol:

[project]
dependencies = [
  "rdmacontrol"
]

安装时指定 GitLab 项目包索引:

pip install . --index-url https://gitlab.com/api/v4/projects/44753656/packages/pypi/simple

在项目目录中进行可编辑安装时,可以运行:

pip install -e . --index-url https://gitlab.com/api/v4/projects/44753656/packages/pypi/simple

在环境中配置索引

不想每次安装都传入参数时,可以设置环境变量:

export PIP_INDEX_URL=https://gitlab.com/api/v4/projects/44753656/packages/pypi/simple
pip install .

也可以通过 pip 配置命令设置索引:

pip config set global.index-url https://gitlab.com/api/v4/projects/44753656/packages/pypi/simple
pip install .

环境变量适合在 CI 等安装环境中使用。全局 pip 配置会影响该环境里的其他安装任务,设置前请确认符合预期。

关于 Git URL 和认证

rdmacontrol 是通过包索引安装的 Python 包,直接从索引安装即可。只有当依赖来自 Git 仓库时,才需要使用 git+https://... 形式的 Git URL。

如果包索引以后要求认证,可以按照组织的凭据管理方式配置 pip 凭据。不要将 token 提交到项目的 pyproject.toml 或其他版本控制文件中。索引允许匿名访问时,无需提供用户名或 token。

--index-url 指定 pip 使用的包索引。如果还需要从其他索引安装依赖,应先确认索引配置符合项目要求。直接添加 --extra-index-url 可能导致同名包的来源不确定。

备注:内容仅供参考。