配置YOLO时安装依赖requirement.txt报警告的解决办法

说在前头

在配置YOLOv8环境的时候,安装依赖时会出现下图这个警告⬇️

这个保存应该是不影响正常依赖安装流程的,但是看的真的很烦,所以我想这里提供几个解决方案供各位伙计参考,不出意外的话后续版本的yolo也有这毛病()

分析问题 

首先我们应该读懂它在讲什么。

这是原文:

WARNING: Ignore distutils configs in setup.cfg due to encoding errors.

我们带到百度翻译查查:

实际上这个警告说的很明白了,setup.cfg的编码有问题。国内默认使用GBK编码,但国际上一般使用UTF-8编码,这就是问题所在啦。我们打开这个文件一探究竟~

这是打开来的文件~

 看右下角,这和咱猜测的一样!

解决问题 

解决问题的方法总结下来就两大类:

1.解决问题本身

2.解决提出问题的

接下来我来介绍下几个解决问题的方法(认真!)。 

修改Windows编码(不推荐)

既然时Windows提出了这个问题,我们把Windows解决了不就行了()

碎碎念

但是这个方法非常非常不推荐,这是一个玄学的解决方式,虽然能在我们日后写代码的时候能够一帆风顺,但是从GBK到UTF-8编码,会导致很多奇奇怪怪的问题,毕竟国内GBK编码都用了这么久了,很多软件是和GBK编码深度绑定的,切换编码毫无悬念地会导致软件出现异常。这个方法网上有,只能说害人不浅(),不过我这里也会以Windows 11为例详细的讲讲步骤,毕竟自己淋过雨,也想给别人泼盆水。

步骤

1.打开Windows设置, 点击“时间和语言”;

2.点击“语言和区域”;

3.点击“管理语言设置”,这时会弹出一个界面,长这样:

 微软我*你*,说好的界面重做呢,都Win11了这个界面连图标都没变

4.点击“更改系统区域设置”,这时会弹出这个窗口:

5.勾选下面的“Beta版:使用 Unicode UTF-8 提供全球语言支持”,然后点击确定并重启电脑。接下来就可以正常的且愉快的使用电脑啦~

在这里我还是想唠叨几句,这个按钮实际上我印象中在小时候的WinXP上就见到了,你猜猜为什么到现在还是叫Beta版而不是其他的称谓或者变成系统默认编码()

当然,你也可以单独更换命令行的编码,具体过程不做描述,可以看看这篇:windows修改cmd命令行窗口UTF-8编码(临时、永久)_cmd utf-8-CSDN博客

请注意:就算是单独调整CMD的编码,也会有概率出现一些玄学问题,所以如果想调整编码的话建议只临时调整,这样重新打开CMD就又回变回GBK编码了。 

更换Python版本 

Python 3.10似乎解决了这个问题,可以试试。不过更换版本意味着要重新配环境,非常麻烦。如果已经用之前的版本写了好久代码的话就不推荐这个方法。

碎碎念

注意,目前Python 3.12应该是还不能玩YOLO的,版本号别挑太高。(写这句话的时候是2023.12.10,这句话具有时效性,日后一定会没问题的。)

Python(实际上不止这玩意)下载龟速可以去镜像站好好玩玩,我个人推荐清华大学的镜像站,不为别的,只是因为这是我离清华最近的一次了(哭),考不上,咱也能用用。

清华大学开源软件镜像站 | Tsinghua Open Source Mirror

修改源文件内容

众所周知,虽然GBK和UTF-8这俩是两个玩意,但是他们的英文字符是相通的,不会遇到啥问题。那既然会报编码错误,这就说明这里一定出现了不属于英文的字符串,我们打开文件来修改修改看看。

又打开了,又开始了 

这里的引号很明显不是英文字符。当然,如果你的编辑器字体花里胡哨的话可能真的看不出来,也有可能编辑器会给你标出非ASCII字符让你清楚是啥情况。 我们把这些字符删掉或者自己换成英文字符就行,当然这里只是注释而已,有没有都完全无所谓的。你也可以直接全部删掉,体验一下删库跑人的快感

修改源文件编码(最简单)

既然这个文件默认是UTF-8编码,而CMD又默认是GBK编码,要不一拍即合,把文件改成GBK编码就行了?事实证明确实有效() 

各编译器修改编码的方式不同,如果不懂建议自己百度一下,有时候搜索引擎确实是个好东西,当然也有时候不是。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值