如何在本地使用Poetry安装本地包并处理并发依赖
解决Poetry安装本地pkg目录包的问题
以下是几种适配你需求的方法,替代pip的--find-links用法:
1. 临时安装单个本地包(无需全局配置)
直接使用poetry add命令,搭配--no-index和--find-links参数,和pip的逻辑一致:
poetry add some_package --no-index --find-links=./pkg
注意:
poetry install是用来安装pyproject.toml中已声明的依赖,若要新增包需用poetry add。
2. 配置本地包源(长期复用)
把你的pkg目录配置为Poetry的本地源,后续安装无需重复指定路径:
方式一:通过命令行配置
# 替换为pkg目录的绝对路径,Linux/macOS下格式如下 poetry config repositories.local file:///absolute/path/to/your/pkg
方式二:编辑pyproject.toml配置
直接在项目配置文件中添加本地源:
[[tool.poetry.source]] name = "local" url = "file:///absolute/path/to/your/pkg" # 如果是相对路径,可写成 file://./pkg(仅在项目根目录执行时有效)
配置完成后,安装本地包只需指定源名称:
poetry add some_package --source local
3. 在pyproject.toml中固定依赖来源
如果需要把依赖的本地来源写入配置,避免每次手动指定,可直接在依赖声明中添加source字段:
[tool.poetry.dependencies] python = "3.7" # 用*匹配任意版本,或指定具体版本号 some_package = { version = "*", source = "local" } wheel = { version = "*", source = "local" }
之后运行poetry install,就会自动从本地pkg目录拉取并安装这些依赖,同时处理依赖冲突。
内容的提问来源于stack exchange,提问作者PicxyB
相关产品推荐
相关产品推荐

