piper icon indicating copy to clipboard operation
piper copied to clipboard

Running on Pi CM4, pip install fails: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies

Open torntrousers opened this issue 1 year ago • 11 comments

Hello, how can i fix this:

 pip install piper-tts
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting piper-tts
  Using cached piper_tts-1.2.0-py3-none-any.whl (29 kB)
  Using cached piper_tts-1.1.0-py3-none-any.whl (27 kB)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    piper-tts 1.2.0 depends on onnxruntime<2 and >=1.11.0
    piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

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

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Some machine info:

cat /proc/cpuinfo | grep Model
Model           : Raspberry Pi Compute Module 4 Rev 1.1
ant@picm4:~ $ arch 
aarch64
ant@picm4:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
ant@picm4:~ $ python --version
Python 3.10.13

From the instalation instructions it says i could download the "arm64 (64-bit Raspberry Pi 4)" binary but how do i then install that download?

Thanks!

torntrousers avatar Feb 09 '24 07:02 torntrousers

I installed on a RPI4 8Gb no problem using pip install piper-tts. For the binary you just download them:

wget https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_arm64.tar.gz
tar -xvzf piper_arm64.tar.gz

It should work.

ciaotesla avatar Feb 11 '24 12:02 ciaotesla

It looks like a new version of something is available with python 3.12.x as it seems to install fine on python 3.11 (fresh pyenv installs of each). Interestingly (and I guess it's been a few days since the OP's issue) I get a different conflict. I'm on x86_64 Ubuntu:

    ~  pyenv global 3.11.8
    ~  pip install piper-tts
Collecting piper-tts
  Using cached piper_tts-1.2.0-py3-none-any.whl.metadata (776 bytes)
Collecting piper-phonemize~=1.1.0 (from piper-tts)
  Using cached piper_phonemize-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (282 bytes)
Collecting onnxruntime<2,>=1.11.0 (from piper-tts)
  Using cached onnxruntime-1.17.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.2 kB)
Collecting coloredlogs (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
Collecting flatbuffers (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached flatbuffers-23.5.26-py2.py3-none-any.whl.metadata (850 bytes)
Collecting numpy>=1.24.2 (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Collecting packaging (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Collecting protobuf (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl.metadata (541 bytes)
Collecting sympy (from onnxruntime<2,>=1.11.0->piper-tts)
  Using cached sympy-1.12-py3-none-any.whl (5.7 MB)
Collecting humanfriendly>=9.1 (from coloredlogs->onnxruntime<2,>=1.11.0->piper-tts)
  Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Collecting mpmath>=0.19 (from sympy->onnxruntime<2,>=1.11.0->piper-tts)
  Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
Using cached piper_tts-1.2.0-py3-none-any.whl (29 kB)
Using cached onnxruntime-1.17.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB)
Using cached piper_phonemize-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (25.0 MB)
Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)
Using cached flatbuffers-23.5.26-py2.py3-none-any.whl (26 kB)
Using cached packaging-23.2-py3-none-any.whl (53 kB)
Using cached protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Installing collected packages: mpmath, flatbuffers, sympy, protobuf, piper-phonemize, packaging, numpy, humanfriendly, coloredlogs, onnxruntime, piper-tts
Successfully installed coloredlogs-15.0.1 flatbuffers-23.5.26 humanfriendly-10.0 mpmath-1.3.0 numpy-1.26.4 onnxruntime-1.17.0 packaging-23.2 piper-phonemize-1.1.0 piper-tts-1.2.0 protobuf-4.25.2 sympy-1.12
10.14s user 0.82s system 94% cpu 11.608s total
    ~  pyenv global 3.12.2
    ~  pip install piper-tts
Collecting piper-tts
  Using cached piper_tts-1.2.0-py3-none-any.whl.metadata (776 bytes)
INFO: pip is looking at multiple versions of piper-tts to determine which version is compatible with other requirements. This could take a while.
  Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    piper-tts 1.2.0 depends on piper-phonemize~=1.1.0
    piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

ag4ve avatar Feb 13 '24 13:02 ag4ve

FWIW (as I'm unsure how else you'd've gotten that new a version of python otherwise), if you're also using pyenv, you should be able to install piper on the older version of python and then just: alias piper="$PYENV_ROOT/versions/3.11.8/bin/piper"

ag4ve avatar Feb 13 '24 13:02 ag4ve

Thanks @ag4ve . I tried using Python 3.11.8 on a Pi5 and that works and Piper installs successfully, yay, but on a Pi4 (a CM4), which is what I want to use Piper on, it doesn't. I tried with Python 3.11.7 and 3.11.8:

pip install piper-tts
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting piper-tts
  Using cached piper_tts-1.2.0-py3-none-any.whl.metadata (776 bytes)
INFO: pip is looking at multiple versions of piper-tts to determine which version is compatible with other requirements. This could take a while.
  Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    piper-tts 1.2.0 depends on piper-phonemize~=1.1.0
    piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

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

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

torntrousers avatar Feb 14 '24 06:02 torntrousers

Any news on the

The conflict is caused by:
    piper-tts 1.2.0 depends on piper-phonemize~=1.1.0
    piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

would be so nice to get past that problem

torntrousers avatar Mar 06 '24 11:03 torntrousers

Still a blocking issue for many environments. The minefield of dependency issues is maddening.

Derjyn avatar Jul 17 '24 14:07 Derjyn

Agreed. pip install piper-tts doesn't work. On python 3.10.14, Windows, if that helps.

SpaceCowboy850 avatar Jul 25 '24 16:07 SpaceCowboy850

I am getting this error on latest Ubuntu (24 lts) and latest python (3.12). I was able to install the package by using pyenv to downgrade to python 3.9. This is something the project maintainers need to prioritize, using the latest software should work on a project that is under active development, or if it doesn't work that needs to be called out in documentation.

ekcrisp avatar Aug 05 '24 17:08 ekcrisp

getting this error on Mac m3 pro

The conflict is caused by: piper-tts 1.2.0 depends on piper-phonemize~=1.1.0 piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

To fix this you could try to:

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

BJW333 avatar Aug 17 '24 18:08 BJW333

on m1 mac pip install piper-phonemize-cross pip install piper-tts --no-deps worked for me https://github.com/rhasspy/piper/issues/395

oscody avatar Aug 19 '24 07:08 oscody

on m1 mac pip install piper-phonemize-cross pip install piper-tts --no-deps worked for me #395

👆 this worked for me on Mac, as well. (please note those are two commands, also I had to run pip install onnxruntime)

lukas2 avatar Sep 12 '24 11:09 lukas2