windows 下  torch安装方法

本文提供了在Windows环境下安装PyTorch的详细步骤,包括使用pip命令安装特定版本的PyTorch和torchvision,以及提供下载链接,帮助读者顺利完成深度学习框架的配置。
部署运行你感兴趣的模型镜像

https://pytorch.org/   pytorch官网 

windows 下  torch安装方法

pip install torch==1.5.1+cpu torchvision==0.6.1+cpu -f https://download.pytorch.org/whl/torch_stable.html

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think> 我们面对的是在运行YOLOv5-5.0的train.py时出现的AttributeError:`module 'distutils' has no attribute 'version'`。这个错误通常是由于环境中`distutils`模块的变化引起的。在Python 3.12及更高版本中,`distutils`已被移除,因为它已被弃用。但是,YOLOv5-5.0版本可能是在旧版本Python(如3.8或3.9)上开发和测试的,因此依赖于`distutils`。 错误信息指出在`torch.utils.tensorboard`的`__init__.py`文件中,有一行代码尝试使用`distutils.version.LooseVersion`,但当前环境中`distutils`模块没有`version`属性。 可能的原因: 1. 使用的Python版本过高(如3.12+),而`distutils`在Python 3.12中被移除。 2. 环境中`setuptools`或`distutils`的包可能被损坏或版本不兼容。 解决方案: 1. **降低Python版本**:建议使用Python 3.8或3.9,因为YOLOv5-5.0在这些版本上经过测试。 2. **修复当前环境**(如果不想降低Python版本): - 尝试安装`setuptools`的特定版本,因为`setuptools`包含了`distutils`的替代功能(在Python 3.12之前,`distutils`是`setuptools`的一部分)。 - 或者,如果使用的Python版本是3.10或3.11,可以尝试安装`distutils`包(在Python 3.10和3.11中,`distutils`是标准库的一部分,但有时可能因为环境问题而缺失)。 然而,对于Python 3.12及更高版本,官方已经移除了`distutils`,因此可能需要修改代码或依赖库来适应。但考虑到YOLOv5-5.0可能尚未适配Python 3.12,最简单的办法是使用兼容的Python版本。 具体步骤: **第一步:检查Python版本** 在命令行中运行: ``` python --version ``` 如果显示为3.12或更高,则需要降级。 **第二步:创建并使用Python 3.9环境(推荐)** 使用conda创建新环境: ``` conda create -n yolov5 python=3.9 conda activate yolov5 ``` **第三步:安装依赖** 在激活的yolov5环境中,按照YOLOv5-5.0的requirements.txt安装依赖: ``` cd yolov5-5.0 pip install -r requirements.txt ``` 如果不想降级Python版本,可以尝试以下替代方案(适用于Python 3.10和3.11): - 确保安装了`setuptools`,并且版本不是特别新(因为新版本的`setuptools`可能移除了对`distutils`的向后兼容): ``` pip install setuptools==58.0.4 # 尝试一个较旧的版本,因为新版本可能已经移除了distutils ``` 但是,这种方法不一定可行,因为从setuptools 60.0版本开始,distutils被移除了。所以安装58.0.4版本可能有效。 对于Python 3.12+,除了降级,目前没有官方推荐的解决方案,因为`distutils`已经被完全移除。 另外,也可以尝试修改torch的代码(不推荐): 找到`torch/utils/tensorboard/__init__.py`文件,将第4行: ```python LooseVersion = distutils.version.LooseVersion ``` 修改为: ```python from setuptools.extern import distutils LooseVersion = distutils.version.LooseVersion ``` 或者,如果setuptools中也没有,可以尝试使用`packaging.version`: ```python from packaging.version import Version as LooseVersion ``` 但这种方法可能会引起其他问题,因为`packaging.version.Version`的行为可能与`distutils.version.LooseVersion`不完全相同。 考虑到稳定性,强烈建议使用Python 3.8或3.9环境。 相关问题: §§相关问题§§ 1. 如何检查当前Python版本? 2. 如何创建和管理conda环境? 3. YOLOv5-5.0的具体环境要求是什么? </think> ### AttributeError: module 'distutils' has no attribute 'version' 错误解析 #### 错误原因 此错误发生在运行 YOLOv5-5.0 的 train.py 时,具体原因是 TensorBoard 依赖的 `distutils` 模块缺失 `version` 属性: 1. **Python 版本兼容性问题**:Python 3.12+ 中 `distutils` 库已被移除[^1] 2. **YOLOv5-5.0 依赖冲突**:该版本基于 Python 3.8-3.10 开发,使用 `distutils.version` 处理版本比较 3. **TensorBoard 调用链**:错误触发点在 `torch.utils.tensorboard` → 尝试访问 `distutils.version.LooseVersion`(已失效) #### 解决方案(推荐方案) **✅ 最佳方案:创建 Python 3.9 专用环境** ```bash # 创建新环境 conda create -n yolov5_env python=3.9 # 激活环境 conda activate yolov5_env # 安装依赖 cd yolov5-5.0 pip install -r requirements.txt ``` **🔄 备用方案:修改代码(适用于Python 3.12+)** 编辑文件:`D:\Anaconda\envs\v5\lib\site-packages\torch\utils\tensorboard\__init__.py` ```python # 原代码(第4行): LooseVersion = distutils.version.LooseVersion # 修改为: from setuptools._distutils.version import LooseVersion # 使用setuptools替代 ``` **⚙️ 其他可行方案** ``` pip install setuptools==65.5.0 # 安装兼容版本 export SETUPTOOLS_USE_DISTUTILS=stdlib # Linux/Mac环境变量 set SETUPTOOLS_USE_DISTUTILS=stdlib # Windows命令提示符 ``` #### 根本原因解析 `distutils` 是 Python 的传统打包工具库: - Python ≤ 3.10:`distutils.version.LooseVersion` 存在 - Python ≥ 3.12:该模块被完全移除[^2] - YOLOv5-5.0 设计时未考虑 Python 3.12+ 的兼容性 > **建议**:YOLOv5 官方最新版本已支持 Python 3.12,建议升级到 [YOLOv5 v7.0](https://github.com/ultralytics/yolov5/releases) 版本规避此问题。[^3]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值