Search code examples
pythonwindowspip

mimic3: UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 707: character maps to <undefined>


I want to download mimic3 for my Tts project but I always get the error massage

    File "C:\Python311\Lib\pathlib.py", line 1059, in read_text
      return f.read()
             ^^^^^^^^
    File "C:\Python311\Lib\encodings\cp1252.py", line 23, in decode
      return codecs.charmap_decode(input,self.errors,decoding_table)[0]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 707: character maps to <undefined>

I tried installing with PyPI with pip install mycroft-mimic3-tts, tried set PYTHONUTF8=1 and set LANG=utf-8, then I downloaded the folder from GitHuB and tried installing with pip install -r requirements.txt but nothing worked.

In setup.py it is decoded using utf-8, so I don't get the issue.

# Load README in as long description
long_description: str = ""
readme_path = this_dir / "README.md"
if readme_path.is_file():
    long_description = readme_path.read_text(encoding="utf-8")

requirements = []
requirements_path = this_dir / "requirements.txt"
if requirements_path.is_file():
    with open(requirements_path, "r", encoding="utf-8") as requirements_file:
        requirements = requirements_file.read().splitlines()

version_path = module_dir / "VERSION"
with open(version_path, "r", encoding="utf-8") as version_file:
    version = version_file.read().strip()

Thanks for your help


Solution

  • This package doesn't seem to be compatible with Windows machine. According to the docs the software requirements for mycroft-mimic3-tts are:

    • Linux (Recommended: 64-bit Debian bullseye or Raspberry Pi OS)
    • Python 3.7+ (Recommended: Python 3.9)
    • etc.

    Also PyPi shows that it is compatible with Python 3.7 - 3.9 but you seem to be using Python 3.11.

    You can look at the discussion posted by @phd in the comments and see if it helps. Otherwise, your best bet would be to use a supported Linux environment and a supported Python version.