pip安装时报错 ascii‘ codec can‘t decode byte 0xe2 in position...

在使用pip安装包的时候报错ascii’ codec can’t decode byte 0xe2 in position…

报错信息

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe2 in position 1429: ordinal not in range(128)

在这里插入图片描述
以前好像见过类似的情况,所以搜了一下怎么修改python默认的编码方式。

方法一: 我这里尝试失败了,或许在别的地方可行,记录一下

搜索到的一个修改默认加载方法如下

修改默认的编码方式为utf-8。

vim /usr/lib/python3.6/mimetypes.py

在import之后加入如下代码

import requests, re, sys
reload(sys)
sys.setdefaultencoding("utf-8")

然而却报错了,后来发现这个方法是python27的方法,这里加载的时候会报错,没有reload
然后我就搜在python3中怎么使用这个方法

需要先引入importlib库

import importlib
importlib.reload(sys)
sys.setdefaultencoding("utf-8")

但是!还是不行,sys没有setdefaultencoding方法。
然后搜索出的结果是把这行注释掉,那我折腾半天,,,啥也没干呗。

其实还有个办法,可以看下sys下有没有类似的方法,这里猜测是版本升级换了名字。可以用dir查看一下。

方法二:修改安装包源码

没办法,找了半天没找见别的解决办法。就自己瞎搞一下吧,仔细看了下报错信息,是在setup.py中打开文件时报的错。
所以自己先把这个tar包下载下来解压。在setup文件中,哪里不对改哪里

在这里插入图片描述
其实就是增加encoding=‘utf-8’

然后再安装

python3 setup.py install 

ok,搞定!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用和指出了Python中的一个错误,即`SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape`。这个错误通常发生在Python读取文件,尤其是在文件路径中包含反斜杠`\`。这是因为在Python中,反斜杠`\`被用作转义字符,用于表示特殊字符或Unicode编码。当Python解析文件路径,如果遇到反斜杠`\`,它将尝试解析后面的字符,以便生成相应的特殊字符或Unicode编码。然而,在某些情况下,Python解析器可能会遇到无效或截断的Unicode转义序列,导致此错误的发生。引用提供了三种解决此错误的方法。 首先,可以使用原始字符串(raw string)来解决此问题。原始字符串以字母`r`开头,告诉Python解析器不要将反斜杠`\`视为转义字符。例如,将文件路径从`"C:\path\to\file.txt"`更改为`r"C:\path\to\file.txt"`。 第二种解决方法是使用双反斜杠`\\`替代单个反斜杠`\`。这样做是因为两个连续的反斜杠`\\`被解析为一个反斜杠字符`\`。例如,将文件路径从`"C:\path\to\file.txt"`更改为`"C:\\path\\to\\file.txt"`。 最后,可以使用正斜杠`/`作为文件路径的分隔符,而不使用反斜杠`\`。这是因为在大多数操作系统中,正斜杠`/`也被接受作为文件路径的分隔符。例如,将文件路径从`"C:\path\to\file.txt"`更改为`"C:/path/to/file.txt"`。 总结起来,解决`SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape`错误的三种方法是使用原始字符串、双反斜杠或正斜杠来表示文件路径中的反斜杠。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python运行报错SyntaxError: (unicode error) unicodeescape codec can not decode bytes三种解决办法](https://blog.csdn.net/weixin_45690176/article/details/106442608)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [已解决SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: ...](https://blog.csdn.net/yuan2019035055/article/details/126368281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值