Conda环境中torch与pytorch版本不匹配问题咨询
问题原因解释
1. 导入版本不符的核心原因
PyPI和Conda对PyTorch的包命名规则存在差异:
- Conda官方渠道使用
pytorch作为包名,你通过Conda安装的pytorch=1.11.0是适配CUDA11.3的正确版本。 - PyPI渠道使用
torch作为包名,你环境中存在的torch=1.12.1是通过pip安装的。
Python的模块搜索路径会优先加载后安装或site-packages目录优先级更高的包。如果这个PyPI版的torch是在Conda版pytorch之后安装的,Python导入时就会优先加载它,导致你看到的版本是1.12.1+cu102。
2. 安装torch提示PackagesNotFoundError但它在列表中的原因
conda install torch会默认搜索Conda仓库,而Conda官方仓库中没有名为torch的包(对应的包名为pytorch),因此会抛出PackagesNotFoundError。conda list会列出当前环境中所有已安装的包,无论它是通过Conda还是pip安装的,所以通过pip安装的torch会出现在列表里。
3. CUDA版本为cu102的原因
你通过pip安装的torch=1.12.1是针对CUDA10.2编译的版本——如果安装时没有指定CUDA版本参数(比如pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu113),pip会自动选择一个兼容当前系统的旧CUDA版本包,这就导致它和你通过Conda安装的cudatoolkit11.3不匹配。
验证命令示例
查看Python模块搜索路径,可确认优先级顺序:
python3 -c "import sys; print('\n'.join(sys.path))"
你会看到pip安装的torch所在的site-packages目录排在Conda版pytorch的前面。
内容的提问来源于stack exchange,提问作者amstramgram
相关产品推荐
相关产品推荐

