原帖执行 pip install pytorch,下载的小源码包直接提示正确包名:
Exception: You tried to install "pytorch". The package named for PyTorch is "torch"
错误提示已经给出了包名修正
原题下载的 pytorch-1.0.2.tar.gz 很小,并在 setup.py 主动抛出说明,不是大型框架编译失败。pip 应安装 torch;Conda 历史命令使用 pytorch 则是另一套发行命名。先改命令的包名,不必修这个提示包的构建过程。
失败原因已经写在消息里:pip 发行名应为 torch。不是先安装编译器或修复这个提示包的 setup.py。
先确认安装命令落在哪个解释器:
import sys
import platform
print("josh050608")
print("python:", sys.executable, sys.version)
print("platform:", platform.system(), platform.machine())
在项目虚拟环境的终端执行官方选择器对应的安装命令。只需 CPU、且该平台有官方 CPU wheel 时,可以使用:
python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
python -c "import torch; print(torch.__version__, torch.__file__); print(torch.ones(2))"
需要 CUDA 时按系统、驱动和官方支持版本选择相应渠道,不能把 CPU 命令当成 GPU 安装。torchvision 等包应与 torch 配套选择。
pip 中的 torch、Python 中的 import torch,与历史 Conda 命令里的 pytorch 不是同一个命名层次。不要据此把所有 Conda 命令也改成 pip 包名。
若已有下载好的 .whl,在确认 Python 标签和架构匹配后,用 python -m pip install /实际路径/文件.whl 安装;不需要解压或直接运行它。最后从原项目入口验证导入成功。
从项目解释器安装,再从项目入口验证
先激活准备使用的虚拟环境,执行 python -m pip --version,确认 pip 的路径属于该环境。随后采用官方选择器与系统/计算平台匹配的 torch 命令,不要继续重试 pip install pytorch。
安装后的小程序可以保存成 check_torch.py,从原 IDE 或终端入口运行:
import sys
import torch
print("python:", sys.executable)
print("torch:", torch.__version__, torch.__file__)
x = torch.tensor([1., 2., 3.])
assert torch.equal(x.square(), torch.tensor([1., 4., 9.]))
print("CPU computation:", x.square())
这个例子验证 CPU 导入与运算。需要 GPU 的项目还要核对 CUDA 构建、驱动和一次 CUDA 分配;CPU 程序通过不能自动证明 GPU 可用。
如果改成 torch 后出现“无匹配分发包”,继续检查 Python 版本、位数、wheel 标签和索引;这是下一阶段,与 pytorch 提示包不同。若项目还需要 torchvision、torchaudio,按官方配套组合选择,而非把它们分别升级到任意最新版本。
验收从失败项目使用的实际解释器出发,确认包版本、位置和小运算。不要只在另一个系统 Python 中成功安装后结束,也不要把 wheel 解压后直接双击运行。
参考:原始求助帖;技术依据:PyTorch 官方安装指南、pip 官方用法、PyTorch 历史安装组合。