MycroftAI / mimic3

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

Unable to install pip conflict. #2

Open cooljimy84 opened 2 years ago

cooljimy84 commented 2 years ago

Describe the bug Unable to install using the pip instructions on ubuntu 18.04

To Reproduce Steps to reproduce the behavior:

  1. Follow the install instructions for command line
  2. see error
    
    Collecting mycroft-mimic3-tts
    Using cached mycroft_mimic3_tts-0.2.3.tar.gz (130 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) ... done
    Collecting gruut<3.0,>=2.3.0
    Using cached gruut-2.3.4.tar.gz (74 kB)
    Preparing metadata (setup.py) ... done
    Collecting numpy<2.0
    Using cached numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl (14.8 MB)
    Collecting onnxruntime<2.0,>=1.6
    Using cached onnxruntime-1.10.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)
    Collecting phonemes2ids<2.0
    Using cached phonemes2ids-1.2.2.tar.gz (12 kB)
    Preparing metadata (setup.py) ... done
    Collecting quart-cors
    Using cached Quart_CORS-0.1.3-py3-none-any.whl (6.3 kB)
    Collecting mycroft-mimic3-tts
    Using cached mycroft_mimic3_tts-0.2.2.tar.gz (130 kB)
    Preparing metadata (setup.py) ... done
    ERROR: Cannot install mycroft-mimic3-tts==0.2.2 and mycroft-mimic3-tts==0.2.3 because these package versions have conflicting dependencies.

The conflict is caused by: mycroft-mimic3-tts 0.2.3 depends on quart<1.0 and >=0.16 mycroft-mimic3-tts 0.2.2 depends on quart<1.0 and >=0.16

To fix this you could try to:

  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict

Expected behavior A clear and concise description of what you expected to happen.

Log files If possible, add log files from /var/log/mycroft/ to help explain your problem.

You may also include screenshots, however screenshots of log files are often difficult to read and parse.

If you are running Mycroft, the Support Skill helps to automate gathering this information. Simply say "Create a support ticket" and the Skill will put together a support package and email it to you.

Environment (please complete the following information):

lithiumsulfate commented 2 years ago

I ran into the same problem, this is likely because you're using Python 3.10. Try 3.9 instead.

Even though the documentation claims Mimic 3 is compatible with 3.7+, it does not appear to work with 3.10 currently. One of the possible causes for this is likely microsoft/onnxruntime#11680

samposm commented 2 years ago

A workaround for Python 3.10:

krisgesling commented 2 years ago

Thanks for flagging this - and the work around suggestions.

We'll take a look and see if we need to drop 3.10 as a supported version temporarily.

muonIT commented 2 years ago

I tried building mimic3 on a raspberry pi 4 that I upgraded to raspian bullseye just now. python3 --version Python 3.9.2

pip show mycroft-mimic3-tts Name: mycroft-mimic3-tts Version: 0.2.3 Summary: A fast and local neural text to speech system for Mycroft Home-page: http://github.com/MycroftAI/mimic3 Author: Michael Hansen Author-email: michael.hansen@mycroft.ai License: AGPLv3+ Location: /home/pi/.venv/lib/python3.9/site-packages Requires: dataclasses-json, epitran, espeak-phonemizer, gruut, numpy, onnxruntime, phonemes2ids, quart, quart-cors, requests, swagger-ui-py, tqdm, xdgenvpy

mimic3 Traceback (most recent call last): File "/home/pi/.venv/bin/mimic3", line 6, in from pkg_resources import load_entry_point File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 3252, in def _initialize_master_working_set(): File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 3235, in _call_aside f(*args, **kwargs) File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 3264, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 583, in _build_master ws.require(requires) File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 900, in require needed = self.resolve(parse_requirements(requirements)) File "/home/pi/.venv/lib/python3.9/site-packages/pkg_resources/init.py", line 786, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'onnxruntime<2.0,>=1.6' distribution was not found and is required by mycroft-mimic3-tts

So - from what I see, onnxruntime is a requirement and despite using python 3.9 it doesn't build. I'm not that good with python, therefore I cannot help more..

muonIT commented 2 years ago

Followup: pip3 install ort-nightly ERROR: Could not find a version that satisfies the requirement ort-nightly (from versions: none) ERROR: No matching distribution found for ort-nightly

synesthesiam commented 2 years ago

Try this please:

pip install -f 'https://synesthesiam.github.io/prebuilt-apps/' ...
muonIT commented 2 years ago

pip3 install -f 'https://synesthesiam.github.io/prebuilt-apps/' onnxruntime worked! Afterwards the whole call pip3 install mycroft-mimic3-tts[all] worked too! Now my raspi 4 can utter gb english with mimic 3! :-) Thx!

zeloras commented 2 years ago

downgrade to python 3.9 helped me with this issue

poohsen commented 11 months ago

If you get ValueError: 'editdistance/bycython.pyx' doesn't match any files then try this:

mycroft-pip install git+https://github.com/roy-ht/editdistance.git@v0.6.2