Python3之No module named ‘encodings‘问题(二十)

这篇具有很好参考价值的文章主要介绍了Python3之No module named ‘encodings‘问题(二十)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python3之No module named ‘encodings‘问题(二十)

1.报错:

Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

  python2.x是没有encodings模块的。

  python3.x才开始引入该模块。

  奇怪的是我使用python3运行的程序,但是还是找不到'encodings'模块!

2.查看当前python库中是否有encodings模块

<1>.查看当前python版本:pip

# pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

  说明pip默认是python3.10,并且所有的python库在/usr/lib/python3/dist-packages/pip路径。

# cd /usr/lib/python3/dist-packages/pip
# cat /usr/lib/python3/dist-packages/pip/_internal/utils/encoding.py
import codecs
import locale
import re
import sys
from typing import List, Tuple

BOMS: List[Tuple[bytes, str]] = [
    (codecs.BOM_UTF8, "utf-8"),
    (codecs.BOM_UTF16, "utf-16"),
    (codecs.BOM_UTF16_BE, "utf-16-be"),
    (codecs.BOM_UTF16_LE, "utf-16-le"),
    (codecs.BOM_UTF32, "utf-32"),
    (codecs.BOM_UTF32_BE, "utf-32-be"),
    (codecs.BOM_UTF32_LE, "utf-32-le"),
]

ENCODING_RE = re.compile(br"coding[:=]\s*([-\w.]+)")


def auto_decode(data: bytes) -> str:
    """Check a bytes string for a BOM to correctly detect the encoding

    Fallback to locale.getpreferredencoding(False) like open() on Python3"""
    for bom, encoding in BOMS:
        if data.startswith(bom):
            return data[len(bom) :].decode(encoding)
    # Lets check the first two lines as in PEP263
    for line in data.split(b"\n")[:2]:
        if line[0:1] == b"#" and ENCODING_RE.search(line):
            result = ENCODING_RE.search(line)
            assert result is not None
            encoding = result.groups()[0].decode("ascii")
            return data.decode(encoding)
    return data.decode(
        locale.getpreferredencoding(False) or sys.getdefaultencoding(),
    )

  在/usr/lib/python3/dist-packages/pip/_internal/utils/encoding.py目录下找到encodings模块。说明没问题,是有encodings模块的。

<2>.查看当前python3版本:pip3

# pip3 --version
pip 22.0.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

         也是有/usr/local/lib/python3.9/site-packages/pip/_internal/utils/encoding.py的说明没问题,是有encodings模块的。

  说明pip和pip3默认软链接的都是python3.x版本。

2.写个示例验证下

 <1>.引用encoding模块

import encodings
import os
# 定义一个字符串
string = "Hello, 你好!"

# 将字符串编码为 UTF-8
encoded_string = string.encode("utf-8")

# 将编码后的字符串解码为utf-8
decoded_string = encoded_string.decode("utf-8")

# 打印结果
print("编码后:" + str(encoded_string))
print("解码后:" + decoded_string)


  依然没有问题,正常打印。

<2>.打印所有环境变量

import encodings
import os


# 遍历所有环境变量并打印
for key, value in os.environ.items():
    print(key + ': ' + value)

  依然没问题,到此一切都正常,但是报错依然在。就先到这,先挂起吧!文章来源地址https://www.toymoban.com/news/detail-448781.html

到了这里,关于Python3之No module named ‘encodings‘问题(二十)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python3报No module named ‘_ssl‘ 最简单解决办法

    安完Python3运行报 No module named ‘_ssl‘,搜的其他教程都让人改Python的Module/setup.dist文件,其实不用这么麻烦 CentOS自带的openssl有点老,建议下个新的 ①下载最新稳定版本的OpenSSL源码包 ②解压并切换目录 ③设定Openssl 安装 ④执行命令 ⑤执行make、make install,编译Openssl ⑥重新安

    2024年01月24日
    浏览(38)
  • 【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘

    我这里是windows上使用出现的问题: 使用 python3.7 : pip install bs4 后 Python37Libsite-packages 文件夹下只有 bs4-0.0.1-py3.7.egg-info ,没有 bs4 文件夹(安装过程中会有,但是安装完成后被删除了)。 会同时安装 BeautifulSoup4 ,相当于执行 pip install BeautifulSoup4 ,生成了 beautifulsoup4-4.12.0

    2024年02月03日
    浏览(34)
  • 解决“plt.show()“图片不显示,以及后续报错“no module named ‘tkinter‘ “问题  No module named 'tkinter'

            环境:windows| pycharm |python3.7.6         在运行如下代码时,发现图片并没有显示出来。plt.show函数似乎没有运行。     1 尝试在后面添加plt.show()          看到网上有帖子说在后面加上plt.show()即可显示            发现加上之后并没有起到任何作用,反而多了

    2024年02月05日
    浏览(67)
  • Python报错ModuleNotFoundError: No module named ‘psutil‘

    python运行时,因为代码里引入了某些组件库,但是本地没有,便会报错ModuleNotFoundError: No module named \\\'XXX\\\',如下图: 此图是没有导入psutil库。 解决:在python安装目录下的 Scripts 目录下进入cmd黑窗口,运行命令 pip install psutil 安装。 如果是内网连通公网仓库不方便,则通过如下

    2024年02月16日
    浏览(33)
  • Python 报错 ModuleNotFoundError: No module named ‘numpy‘

    1.创建新的工程,编译后提示错误:“ModuleNotFoundError: No module named \\\'numpy\\\'” 2.打开dos窗口,输入:pip list 确认已安装numpy,如下图: 解决方案一:  打开PyCharm软件:File-Settings-Project-Python Interpreter-Add Interpreter-Add Local Interpreter-Virtualenv Enviroment - Inherit global site-packages-OK -   解决方

    2024年02月11日
    浏览(38)
  • python链接mysql报错:No module named MySQLdb

    尝试使用python链接mysql,把数据进行插入的时候,有报错: 然后: pip install mysqlclient 报错: https://codeantenna.com/a/n3yCa0VDpB,下载对应python版本 直接引入pymysql,虽然第一次引入,但是缺少初始化信息,需要整体引用 添加初始化后,就不会报错缺少mysqldb module了。

    2024年02月04日
    浏览(32)
  • python安装wordcloud包报错:No module named ‘wordcloud‘

    直接在cmd使用pip install wordcloud进行安装后,在jupyter notebook中导入wordcloud包会报错 发现是因为没有安装在anaconda的路径里 解决方法:打开anaconda prompt进行pip install wordcloud,安装完成后可以在jupyter环境中成功导入 去年这时候安过一次wordcloud包,当时好像也有这个问题,没有及时

    2024年02月11日
    浏览(38)
  • Python 报错 no module named torch 的解决方案

    在 Python 中使用 PyTorch 时,经常会碰到 no module named torch 的错误。本文总结了此错误出现的主要原因及对应的解决方法。 想在 Python 中调用 PyTorch,首先得安装它。可以在终端运行: 来安装 PyTorch 和相关库。 如果安装了 PyTorch 的旧版本,但代码中需要较新版本的 API,也会出现此错误

    2024年02月08日
    浏览(42)
  • Python报错:ModuleNotFoundError: No module named ‘xxx‘,如何解决?

    Python报错:ModuleNotFoundError: No module named \\\'xxx\\\',如何解决? 在Python开发中,经常会遇到报错信息\\\"ModuleNotFoundError: No module named \\\'xxx\\\'\\\"的问题。这个错误通常是由于没有正确安装或导入所需的模块导致的。本文将探讨这个问题的解决方法,并提供一些实际的代码示例。 为了说明这个

    2024年02月05日
    浏览(41)
  • python中导入logru模块 报错 No module named loguru

    1、导入日志模块异常报错 报错信息: from loguru import logger E   ModuleNotFoundError: No module named  loguru 2、解决方案:安装logru 方案1:pycham编辑器 -- 文件 -- 设置  该方式有时候安装不成功 方案2:打开终端 pip install logru 该方式比较慢,偶尔也会出错 方案3:打开终端 pip install log

    2024年02月11日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包