MycroftAI / mimic3

A fast local neural text to speech engine for Mycroft
GNU Affero General Public License v3.0
1.03k stars 95 forks source link

espeak-phonemizer package dependency causes pip install to fail #37

Open sethlovelace opened 1 year ago

sethlovelace commented 1 year ago

C:\Users\user\Projects\tts> pip install mycroft-mimic3-tts[all]

Collecting mycroft-mimic3-tts[all] Using cached mycroft_mimic3_tts-0.2.4.tar.gz (131 kB) Preparing metadata (setup.py) ... done Collecting dataclasses-json<1.0 Using cached dataclasses_json-0.5.7-py3-none-any.whl (25 kB) Collecting epitran==1.17 Using cached epitran-1.17-py2.py3-none-any.whl (153 kB) Collecting espeak-phonemizer<2.0,>=1.0 Using cached espeak_phonemizer-1.1.0.tar.gz (18 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [10 lines of output] Traceback (most recent call last): File "", line 2, in File "", line 34, in File "C:\Users\user\AppData\Local\Temp\pip-install-so_mcy43\espeak-phonemizer_62f9d420053a418097eaf7bbfc7bd665\setup.py", line 16, in long_description = readme_path.read_text() File "C:\Python310\lib\pathlib.py", line 1135, in read_text return f.read() File "C:\Python310\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 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details

Hossein-67 commented 10 months ago

You need to manually install the espeak-phonemizer library with some modifications.

First, download the latest version from HERE .

After extracting the file, open setup.py with a text editor.

Find the line long_description = readme_path.read_text() and replace it with long_description = readme_path.read_text(encoding='utf-8').

Save the file.

Now, navigate to the library directory using CMD and enter the command python setup.py install to install it.

Once espeak-phonemizer is successfully installed, proceed to install mimic3 again.