You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让pip自动安装Gizmo的本地wheel依赖acme_transfunctioner?

解决pip自动安装本地wheel依赖的问题

问题根源

你当前的pyproject.toml里,[tool.poetry.dependencies]中对acme_transfunctioner的本地路径配置是Poetry专属规则,pip解析wheel包的依赖元数据时,只会读取[project]区块下的配置——而这部分你只声明了版本要求,未指定本地包的位置,所以pip会默认去公开PyPI查找,自然找不到内部开发的包。

可行解决方案

方案1:安装时通过--find-links指定依赖目录

直接在pip安装命令里添加本地依赖的查找路径,让pip知晓去哪里获取acme_transfunctioner的wheel包:

pip install dist/gizmo-1.5.0-py3-none-any.whl --find-links dist/depend/

这个方法无需修改pyproject.toml,适合临时或单环境安装场景。

方案2:修改[project]依赖为PEP 508格式的本地路径

更新pyproject.toml的[project]部分,用PEP 508标准的本地文件路径格式声明依赖,这样pip解析wheel元数据时会直接读取本地包路径:

[project]
name = "Gizmo"
version = "1.5.0"
requires-python = ">=3.9"
dependencies = [
    "pycairo~=1.21.0",
    "PyGObject~=3.42.0",
    "PyGObject-stubs~=1.0.0",
    # 使用绝对路径(推荐)或相对路径(注意路径需与安装环境匹配)
    "acme_transfunctioner>=1.3.0 @ file:///full/path/to/dist/depend/acme_transfunctioner-1.3.0-py3-none-any.whl"
]

注意:相对路径在wheel分发到其他机器时可能因路径不匹配失效,优先使用绝对路径或结合方案1的--find-links更灵活。

方案3:搭建本地PyPI仓库(适合团队共享)

如果是团队内部协作场景,把acme_transfunctioner上传到本地PyPI仓库(如devpi、localpypi),安装时指定本地仓库地址:

pip install dist/gizmo-1.5.0-py3-none-any.whl --index-url http://your-local-pypi-url/simple/

也可将本地仓库地址配置到pip.conf中,避免每次安装重复加参数。

额外说明

如果用Poetry构建和安装项目,直接运行poetry install可以自动处理[tool.poetry.dependencies]里的本地依赖,但如果是分发wheel给仅使用pip的用户,必须通过上述方法让pip能定位到本地依赖包。

内容的提问来源于stack exchange,提问作者Olumide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:43:10