如何在 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 可能导致同名包的来源不确定。
备注:内容仅供参考。
