[英]How to convert pip install to Poetry file?
经过数小时的研究,我仍然无法找到将这个 pip install cmd 转换为 pyproject.toml 文件的方法。 我正在尝试安装 PyTorch。
pip install torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
这就是我目前得到的(完全错误!)
[tool.poetry]
name = "poetry-test"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]
[tool.poetry.dependencies]
python = "^3.8"
torch = "^1.7.0"
torchvision = "^0.8.1"
torchaudio = "^0.7.0"
[tool.poetry.dependencies.torch]
url = "https://download.pytorch.org/whl/torch_stable.html"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
如果您在依赖项定义中使用 url 说明符,则它需要直接指向您要安装的文件,而不是 .html 页面:
[tool.poetry.dependencies]
python = "^3.8"
torch = {url = "https://download.pytorch.org/whl/cpu/torch-1.7.0%2Bcpu-cp38-cp38-win_amd64.whl"}
torchaudio = {url = "https://download.pytorch.org/whl/torchaudio-0.7.0-cp38-none-win_amd64.whl"}
torchvision = {url = "https://download.pytorch.org/whl/cpu/torchvision-0.8.1%2Bcpu-cp38-cp38-win_amd64.whl"}
话虽如此,您的设置现在无法与poetry
一起安装,因为您将遇到求解器错误:
[SolverProblemError]
Because torchaudio (0.7.0) depends on torch (1.7.0) which doesn't match any versions, torchaudio is forbidden.
So, because no versions of torchaudio match !=0.7.0
and poetry-test depends on torchaudio (*), version solving failed.
虽然torch
可以单独安装,但在安装torchaudio
或torchvision
时匹配版本时会出现问题。 也许这与 Torch 在您尝试安装的轮子中的版本中包含构建信息有关(即1.7.0+cpu
),也许是因为无法在pyproject.toml
(这是有道理的,如果我们告诉它“这是一个 tarball,安装它!”,诗歌不会解决任何问题),或者可能只是一个内部poetry
错误。
您现在可能必须坚持使用pip
,因为它不会抱怨解决依赖树而只是开始安装。 但最终,要怪torch
维护者,因为 1) 没有将他们所有的轮子上传到全局 Python 包 index ,以及 2) 甚至没有以符合PEP-503 的方式设置自己的文件服务器。
更新:
我对讨论进行了更多的研究,似乎有一个乐于助人的人完成了torch
在符合 PEP-503 标准的服务器上为他们的轮子提供服务的工作。 因此,目前,以下实际上将起作用:
[tool.poetry]
name = "poetry-test"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]
[[tool.poetry.source]]
name = "foo"
url = "https://vxlabs.com/pypi//simple/"
[tool.poetry.dependencies]
python = "^3.8"
torch = "1.7.0"
torchvision = "0.8.1"
torchaudio = "0.7.0"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
如本诗刊#2543 中所述,以前的解决方案对我不起作用。 因此,在此期间对我有用的是升级到解决该问题的 1.2 版(预览版)。
安装诗歌 1.2
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python - --preview
按照此处的建议将以下 repo 添加到您的 pyproject.toml问题#4124 ,您不应该出现版本不匹配的情况。
[[tool.poetry.source]]
name = "torch_rep"
url = "https://eternalphane.github.io/pytorch-pypi"
之后,您可以继续安装它们poetry add torch =1.7.0+cpu
poetry add torchvision=0.8.1+cpu
或者,将依赖项添加到 pyproject.toml 并进行poetry install
也应该有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.