由于Python出现3.10版本,此方法修改后仍会导致python版本识别错误,所以不再推荐此方法。

感谢

本篇博文参考了以下内容:

程序员的一天--pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 解决

原料(环境)

系统: macOS 10.14.6

pycharm 版本:2019.3.5

python 版本:3.9

原因

导致这个问题的主要原因是pycharm内置了特定版本的setuptools,这里2019.3.5内置了setuptools-40.8.0的安装包,放在:

/Applications/PyCharm.app/Contents/plugins/python/helpers
# windows 在安装文件夹\plugins\python\helpers

名为setuptools-40.8.0.tar.gz。

另外还硬写了setuptools的版本号,对应文件为:

/Applications/PyCharm.app/Contents/plugins/python/lib/python.jar
# windows 在 安装文件夹\plugins\python\lib\python.jar

解决办法(python 3.10及以上版本,不推荐使用)

  1. 更新新版的setuptools

    (1)下载新版setuptools(59.1.1可用, 下载源码包.tar.gz和打包好的.whl, whl在重新修改virtualenv-16.4.3时会用到)
    https://pypi.org/project/setuptools/#files
    (2)将源码包(setuptools-59.1.1.tar.gz)放到目标目录/Applications/PyCharm.app/Contents/plugins/python/helpers
    (3)ls /Applications/PyCharm.app/Contents/plugins/python/helpers/setuptools-*
    output:
    /Applications/PyCharm.app/Contents/plugins/python/helpers/setuptools-40.8.0.tar.gz
    /Applications/PyCharm.app/Contents/plugins/python/helpers/setuptools-59.1.1.tar.gz
    
  2. 更新virtualenv-16.4.3

    # 解压
    tar -xvf virtualenv-16.4.3.tar.gz
    # 修改virtualenv.py文件
    # 查找 sysconfig._get_default_scheme
    # 替换为:
    #         scgds = sysconfig._get_default_scheme if hasattr(sysconfig, '_get_default_scheme') else sysconfig.get_default_scheme
    #        if scgds() == "posix_local":
    # 删掉旧的whl包
    rm -rf ./virtualenv_support/*.whl
    # 从pypi下载新的包放进去
    # pip # https://pypi.org/project/pip/#files
    # setuptools # https://pypi.org/project/setuptools/#files
    # wheel # https://pypi.org/project/wheel/#files
    
  3. 修改python.jar的硬写的setuptools版本号
    这里不再推荐sed二进制改写,还是用16进制编辑器如winhex(查找文本40.8.0进行替换59.1.1, 应该能找到2-3个地方)
    # 只用sed修改版本号(mac 系统需要 gsed)
    # gsed -b -i s/setuptools-40.8.0/setuptools-50.3.2/g /Applications/PyCharm.app/Contents/plugins/python/lib/python.jar
    # -b 使用Binary模式
    # -i inplace替换

解决 Pycharm 使用高版本 python(3.9)报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 之修改pycharm相关推荐

  1. python操作html的object_关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题...

    有的bug,莫名其妙就好了- python3.9 报错 "AttributeError: 'HTMLParser' object has no attribute 'unescape'&qu ...

  2. 【转载】Chrome插件在高版本浏览器中安装报错解决

    为什么80%的码农都做不了架构师?>>>    Chrome插件在高版本浏览器中安装报错解决技术 maybe yes 发表于2014-12-17 17:20 原文链接 : http: ...

  3. 低版本eclipse导入高版本eclipse创建项目报错问题

    例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ...

  4. MapBoxSDK导入高版本unity2020、2021报错ARBackgroundRenderer

    MapBoxSDK导入高版本unity2020.2021报错ARBackgroundRenderer 使用2020以上版本的unity会导致报错: 解决方案: 使用2020以上版本的unity会导致报 ...

  5. 高版本兼容性和部分报错问题

    1.对于已经装了高于Proteus8.9版本的,也可以试试如下兼容性解决办法,大多可以避免卸载高版本,如果兼容性还是没解决问题,卸载并安装8.9版本,邮件中有卸载链接,或直接在博客中找卸载文章. 2. ...

  6. Goole插件在高版本浏览器中安装报错解决技术

    manifest.json文件内容: { "name":"My First Extension", "version":"1.0& ...

  7. 【python爬虫】报错module requests has no attribute get

    欢迎移步我的个人博客 错误原因 python文件名命名为了requests,与代码中的库名重了导致报错. 解决方法 类名.包名都不能与该包.类的代码中所用到的库名重复.起名字时候避免这种情况即可.

  8. python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

    一.我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document ...

  9. python3 报错 ‘builtin_function_or_method‘ object has no attribute 解决方法

    错误示例一:'builtin_function_or_method' object has no attribute 'choice' 使用 random.choice 随机函数时 遇到这个错误 原因 ...

最新文章

  1. 统计app用户在线时长_优质的APP推广渠道,应该如何筛选?
  2. 教你创建高大上的多边形字体
  3. Gartner:2019年七大AI科技趋势,百万行业将颠覆!
  4. 联想拯救者y空间兑换代码_十代酷睿全面升级 拯救者Y7000P 2020产品解读
  5. 曲线 线性回归_GRAPHPAD作图技巧(二)--拟合曲线
  6. 什么是python自动化脚本_python自动化框架脚本
  7. 准确度判断 语义分割_【语义分割】DeepLab v1/v2
  8. SAP License:SAP安装前添加虚拟网卡步骤
  9. 米家小白增强固件_中考体育:男1000米/女800米想拿满分,掌握呼吸法是关键
  10. 基础01类与对象、封装、构造方法
  11. 「日常温习」Hungary算法解决二分图相关问题
  12. WIN7(32位)VS2010+openCV 2.4.10+PCL 1.6.0+CUDA 6.5.14+CMake 3.2.1+SSBA-3.0配置
  13. X4扭曲字体或图形 coreldraw_CorelDRAW X4案例教程上-电子教案文档.ppt
  14. 光谱分析软件_[Howtodowx]OMNIC红外光谱分析软件
  15. proc 文件的创建和读写
  16. Python jieba库的介绍与使用
  17. 这就是为什么选择C语言不用python的原因
  18. [转] On the contrary, in contrast, on the other hand用法区别
  19. 跨行业数据挖掘标准流程(CRISP-DM模型)基本步骤
  20. 智能ai文章伪原创工具-智能ai文章原创处理系统

热门文章

  1. 编译ijkplayer遇到的问题“/libavutil/arm/asm.S:50:9: error: unknown directive”的解决
  2. PLSQL导入CLOB超长字段常见问题
  3. 牛客网——歪脖子树下的灯
  4. Praat:强大的语音处理工具。
  5. 如何用计算机给手机杀毒,怎么用手机给u盘杀毒
  6. uniapp switch开关插件带文字/icon图标 功能实现
  7. JAVA实现negotiate认证_Java SSO windows AD spring4 – Negotiate Header无效:
  8. BBKi370孢子手机版java_孢子进化手机游戏
  9. 同济大学高等数学上册电子版_函数的凹凸性漫谈|高等数学漫步(二)
  10. datetime格式提取年月日