以正确的方式修复 Python 依赖关系

Fixing Python Dependencies The Right Way

我刚刚开始我的第一个 Python 环境设置。一切顺利,它似乎启用了 GPU 和所有这些好东西。

但是,我有一个问题,不知道如何解决。在获得正确的火炬安装命令后,它通知了这个问题:

Installing collected packages: torch
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torchvision 0.8.2 requires torch==1.7.1, but you have torch 1.8.0+cu111 which is incompatible.
Successfully installed torch-1.8.0+cu111

据我所知,torchvision 0.8.2 是最新版本。

目前环境似乎很愉快,因为所有这些命令 return 预期的事情:

import torch
print(torch.__version__)
torch.cuda.get_device_name(0)

我看到有人在谈论“修补需​​求文件”或更新依赖项。但我不确定解决这个问题的最佳方法。

您可以在需求文件中锁定包的版本。此文件具有适当的值。

requirements.txt:

torch==1.7.1
torchvision==0.8.2

软件包是通过 pip 安装的,如下所示:

pip install -r requirements.txt

您可能有此项目的其他依赖项。在这种情况下,您也可以使用 pip 生成一个 requirements.txt 文件:

pip freeze > requirements.txt

查看 documentation 关于管理与 pip

的依赖关系