Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies. #509

Open
Syedoaun opened this issue May 27, 2024 · 38 comments

Comments

@Syedoaun
Copy link

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

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

@miranda
Copy link

miranda commented May 28, 2024

I had this problem too, I was able to get around it by installing python v3.10.12 and using that in a virtual environment. Otherwise I could not find any way to get it to work with my main system python v3.12.3. It seems this trick doesn't work for everyone but it did work for me on Arch Linux.

@txuselo
Copy link

txuselo commented May 31, 2024

Same issue here... even with python v3.10.12 I still having the issue on my mac m1. I don't know if this can affect

(venv31012) [jesus@Jesus-MBP](aks-uat-shared-app)(apps)scrapper (master)% python --version
Python 3.10.12
(venv31012) [jesus@Jesus-MBP](aks-uat-shared-app)(apps)scrapper (master)% pip install --no-cache-dir piper-tts                                                                    
Collecting piper-tts
  Downloading 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.
  Downloading 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

However, on a docker container based on python:3.10-slim it works

@TheBill2001
Copy link

Also on Arch Linux, I have to use micromamba to install Python 3.11. Related rhasspy/piper-phonemize#33.

@detrin
Copy link

detrin commented Jun 13, 2024

I have similar issue

~/Documents/projects/umbrella ❯ uv pip install piper-tts                                                                                                                                       Py umbrella 23:26:11
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of piper-phonemize are available:
          piper-phonemize<=1.0.0
          piper-phonemize>=1.1.dev0
      and piper-phonemize==1.0.0 has no wheels are available with a matching Python ABI, we can conclude that piper-phonemize<1.1.dev0 cannot be used.
      And because piper-tts==1.1.0 depends on piper-phonemize<1.1.dev0 and only the following versions of piper-tts are available:
          piper-tts==1.1.0
          piper-tts==1.2.0
      we can conclude that piper-tts<1.2.0 cannot be used. (1)

      Because only the following versions of piper-phonemize are available:
          piper-phonemize<=1.1.0
          piper-phonemize>=1.2.dev0
      and piper-phonemize==1.1.0 has no wheels are available with a matching Python ABI, we can conclude that piper-phonemize>=1.1.0 cannot be used.
      And because piper-tts==1.2.0 depends on piper-phonemize>=1.1.0, we can conclude that piper-tts==1.2.0 cannot be used.
      And because we know from (1) that piper-tts<1.2.0 cannot be used, we can conclude that all versions of piper-tts cannot be used.
      And because you require piper-tts, we can conclude that the requirements are unsatisfiable.

      hint: piper-phonemize was requested with a pre-release marker (e.g., piper-phonemize>1.0.0,<1.1.dev0), but pre-releases weren't enabled (try: `--prerelease=allow`)

@jfhc
Copy link

jfhc commented Jun 14, 2024

I have this problem using python 3.11.9

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```

@isakimov
Copy link

problem with python 3.10.11

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

@JoshuaEworo
Copy link

I still have this problem with python 3.11.6

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

@smallbraingames
Copy link

I am having this as well on a Mac with python 13.10.12

@SomeOtherDev
Copy link

I'm having this issue with both Python 3.11 and 3.9 on Windows. Downloading and running the piper windows binary works fine, but having the package installed would be better for my projects.

My "workaround" at the moment is a Dockerfile using the python:3.9-slim image. I then run apt-install for "libportaudio2" and "libsndfile1" (not sure if these are even needed tbh), and then ensuring piper-tts is installed via pip (I have a requirements.txt file for this).

@JonSpeare
Copy link

Same problem here, python 3.12.4 on Ubuntu.

@ram-sh
Copy link

ram-sh commented Jul 25, 2024

same problem Python 3.11.5

@zenny
Copy link

zenny commented Jul 29, 2024

I am having same problem with pipx (virtuenv pip) executing pipx install piper-tts in voidlinux with Python 3.12.4.

$ pipx install piper-tts
Fatal error from pip prevented installation. Full pip output in file:
    /home/zenny/Downloads/voidrice/.local/pipx/logs/cmd_2024-07-29_10.44.37_pip_errors.log

pip seemed to fail to build package:
    piper-tts

Some possibly relevant errors from pip install:
    ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
    ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Error installing piper-tts.

The log states the same:

$ cat /home/zenny/Downloads/voidrice/.local/pipx/logs/cmd_2024-07-29_10.44.37_pip_errors.log
PIP STDOUT
----------
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)

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


PIP STDERR
----------
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

This appears to be an outstanding reproducible issue. Thanks.

Cheers,

@rallegretti
Copy link

Having the same issue on Windows 10 with a fresh install of Windows and Python 3.10.6. I had previously tried with Python 3.11 and 3.12 which gave the exact same conflict error, so I did a system wipe and reinstalled just one runtime to see if it was some kind of orphaned package conflicting on the old system.

C:\Windows\system32>pip install piper-tts
Collecting piper-tts
  Downloading piper_tts-1.2.0-py3-none-any.whl (29 kB)
Collecting onnxruntime<2,>=1.11.0
  Downloading onnxruntime-1.18.1-cp310-cp310-win_amd64.whl (5.6 MB)
     ---------------------------------------- 5.6/5.6 MB 27.4 MB/s eta 0:00:00
Collecting piper-tts
  Downloading 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 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

@rosenblat
Copy link

rosenblat commented Aug 7, 2024

This is such an awesome project. I really hope we can get python 3.12 support soon.

Thx for sharing your efforts.

@luisKisters
Copy link

Same issue on Mac M2 with python 3.9, 3.10, 3.12.

❯ 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

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

@boazcstrike
Copy link

Windows 10 python 3.11.7

(env) PS A:\ai\piper> pip3 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

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

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

@ekcrisp
Copy link

ekcrisp commented Aug 13, 2024

Many users are having similar install issues across many different platforms. Most suggest some workaround including building from source, which is obviously a bad user experience. I personally was able to install by downgrading python on the latest Ubuntu. I had to switch from using 32 bit to 64 bit in order to get it working on Raspberry PI OS Lite. Maintainers need to prioritize these issues so that new users are able to use their software.

@io43
Copy link

io43 commented Aug 30, 2024

piper is dead, broken for months, last release 2023, switch to something else

@gunthercox
Copy link

One solution here in case it helps anyone is upgrading your OS version.

Longer more detailed explanation for those who want to understand more:

If you take a look at the uploaded package identifiers for piper-phonemize:
https://pypi.org/project/piper-phonemize/#files
you can see that most of the package identifiers have the formats such as:

CPython 3.11 manylinux: glibc 2.28+ x86-64

In this example, we can see that the requirements needed to install that specific version of the package are:

  • Python 3.11
  • glibc 2.28+
  • A 64-bit OS

Other wheels available appear to support python version 3.9, 3.10, and mac OS architectures, but the main thing here for folks installing piper-tts (and subsequently the piper-phonemize dependency) on linux OS variations is going to be that glibc 2.28+ requirement.

glibc is the GNU C Library that is built into most linux distros and in many cases it is a core part of the system itself so it can't be upgraded independently of the OS.


Here are a few debugging methods that can be used in situations like this:

# This command can be used to print information that includes the
# python package tags your system supports:
pip debug --verbose

# Example output:
...
Compatible tags: 689
  cp311-cp311-manylinux_2_27_x86_64
  cp311-cp311-manylinux_2_26_x86_64
  cp311-cp311-manylinux_2_25_x86_64
  cp311-cp311-manylinux_2_24_x86_64
  cp311-cp311-manylinux_2_23_x86_64
...

Another useful one is installing packages verbosely. This output is helpful because it tells you exactly what packages were skipped for installation and why:

pip install -vvv piper-phonemize

# Sample output:
...
Fetched page https://pypi.org/simple/piper-phonemize/ as application/vnd.pypi.simple.v1+json
  Skipping link: none of the wheel's tags (cp310-cp310-manylinux_2_28_aarch64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/41/e8/ae6a5f5d23b7f35d29927bedc796e50d9c41ff03a2e3267100bdaeb3ba09/piper_phonemize-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl (from https://pypi.org/simple/piper-phonemize/) (requires-python:>=3.7)
...

The easiest way to check what version of glibc your system has installed is to run:

ldd --version

# Example output from my old Raspberry Pi where installs where failing:
ldd (Ubuntu GLIBC 2.27-3ubuntu1.6) 2.27

The python version can also be helpful to check:

python3 --version
# Python 3.7.3

The last note I'll include is that you can look up what glibc versions come with each OS release. You can check what OS version you have available by running lsb_release -a and it should return some sort of output like this:

No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

These are the python and glibc versions that a few common linux distros will have:

OS Python glibc
Debian 12 (bookworm) 3.11 2.36
Debian 11 (bullseye) 3.9 2.31
Debian 10 (buster) 3.7 2.28
Ubuntu 20.04 3.8 2.31
Ubuntu 18.04 3.6 2.27

More for debian versions (Raspberry Pi OS will match these):


In the cases I ran into while testing this on different systems I found that generally either my Python version was too old or my glibc version was outdated. After upgrading my Raspberry Pi from buster to bookworm I can confirm that the installation was successful:

pip install piper-tts
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting piper-tts
  Downloading piper_tts-1.2.0-py3-none-any.whl (29 kB)
Collecting piper-phonemize~=1.1.0
  Downloading piper_phonemize-1.1.0-cp311-cp311-manylinux_2_28_aarch64.whl (24.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.5/24.5 MB 852.6 kB/s eta 0:00:00

...

Successfully installed numpy-2.1.0 onnxruntime-1.19.0 piper-tts-1.2.0

I suspect one way to add support for a wider range of linux distros might be to add a build arg to the piper-phonemize build https://github.com/rhasspy/piper-phonemize/blob/master/Dockerfile#L1 so that distributions older than debian bullseye can be used. But that being said, glibc compatibility is not just something that effects piper-tts - its has widespread effects across the software development community and ecosystem (microsoft/vscode#203375 for example). It might be better in the long run to direct people towards the path of upgrading so they can also benefit from the availability of newer python and OS versions.

@sbussard
Copy link

sbussard commented Sep 2, 2024

There are still commits flowing in, so I wouldn't throw in the towel just yet unless there's a more compelling alternative.

It's frustrating to deal with this after upgrading ubuntu. Python environment anxiety ranks high on my list of things I hate dealing with. Hopefully the pipe team will see this as CRITICAL issue to fix.

@miranda
Copy link

miranda commented Sep 10, 2024

One solution here in case it helps anyone is upgrading your OS version.

This advice seems to be opposite of that is going on in my experience. I have to use an old version of Python (3.10.12) in order to get it work, anything newer doesn't seem to work. Anyone on an Arch-based or other rolling release distro is already going to have the newest packages, and downgrading is your only hope... if you are lucky and it works for you.

@Rust1667
Copy link

Rust1667 commented Sep 25, 2024

same issue, Python 3.12.6, Arch Linux.
Using gtts-cli instead, which isn't great but does the job I guess for now.
edit: now I'm also using piper with Python 3.11 through docker. Very complicated but thankfully there is AI to help with it.

@sogaiu
Copy link

sogaiu commented Sep 29, 2024

As an additional data point regarding python versions, etc., building a non-system install of python 3.10.15 (so just have it live under $HOME somewhere) and using that worked here on Ubuntu 24.04.01.

Less paranoid folks might just go for using uv (^^;

Summary below.


# prerequisites...python's make install can fail without zlib (libz-dev)
# sorry, only for .deb-based systems
sudo apt update
sudo apt install build-essential git gcc make \
  libncurses-dev libgdbm-dev libz-dev tk-dev \
  libsqlite3-dev libreadline-dev liblzma-dev \
  libffi-dev libssl-dev

# build and install python 3.10.x -- wasn't crazy about using a pre-built python from somewhere other than the distribution in use
git clone --depth 1 --branch 3.10 https://github.com/python/cpython
cd cpython
git checkout 3.10
# --prefix=$HOME/.local not great because python lacks make uninstall
./configure --prefix=$HOME/python3.10 \
  --enable-optimzations --with-lto \
  --with-computed-gotos --with-system-ffi
make -j "$(nproc)"
make install

# make appropriate venv and activate
cd ~
export PATH=$HOME/python3.10/bin:$PATH
python3 -m venv piper
source piper/bin/activate

# install piper-tts
pip install piper-tts

# fetch voice info and generate sample audio
echo 'yes, sample audio' | piper \
  --model en_US-joe-medium \
  --output_file sample.wav

@kth8
Copy link

kth8 commented Sep 30, 2024

Here are 2 ways to I used to install using pip, first with conda:

conda create -n py310-piper python=3.10 -y
conda run -n py310-piper pip install piper-tts
conda run -n py310-piper bash -c 'echo "Welcome to the world of speech synthesis!" | piper -m en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -'

second with Docker/Podman:

cat <<EOF> containerfile
FROM python:3.10-slim
RUN pip install piper-tts
ENTRYPOINT ["/usr/local/bin/piper"]
EOF
podman build -t piper -f containerfile
echo "Welcome to the world of speech synthesis" | podman run --rm -i -v ~/Downloads:/piper piper -m /piper/en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -c 1  -t raw -

@Mayakovsky
Copy link

Mayakovsky commented Oct 6, 2024

Here are 2 ways to I used to install using pip, first with conda:

conda create -n py310-piper python=3.10 -y
conda run -n py310-piper pip install piper-tts
conda run -n py310-piper bash -c 'echo "Welcome to the world of speech synthesis!" | piper -m en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -'

This method does not overcome the dependencies conflict and throws the same error. piper-tts fails to load.

Possible solution from Dave Xanatos

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

#359

@ultimatejacob27
Copy link

Same issue here. Using windows 11, tried it on python 13, 11, 10, and 8. No luck.
`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 to attempt to solve the dependency conflict

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

I also tried installing piper-phonemize directly to fulfill the requirement.
pip install piper-phonemize gives this:
ERROR: Could not find a version that satisfies the requirement piper-phonemize (from versions: none) ERROR: No matching distribution found for piper-phonemize
I tried specifying the version number: pip install piper-phonemize==1.1.0
And pip install https://github.com/rhasspy/piper-phonemize.git
And downloading the .tar.gz file and doing this: pip install C:\piper-phonemize-2023.11.14-4.tar.gz
None of that worked.

@vsumpi
Copy link

vsumpi commented Oct 22, 2024

I have installed it successfully on a Rpi4B:

Os 64-bit Lite, on the 32-bit version, didn't work.

  • Python 3.11.2 (sudo apt install python3.11)
  • glibc 2.36
  • OS: 64bit

DO NOT INSTALL ON 32-bit system!

@lukaLLM
Copy link

lukaLLM commented Oct 24, 2024

Same windows11 Python 3.11.9 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

@mylegitches
Copy link

mylegitches commented Nov 14, 2024

I had this problem too, I was able to get around it by installing python v3.10.12 and using that in a virtual environment. Otherwise I could not find any way to get it to work with my main system python v3.12.3. It seems this trick doesn't work for everyone but it did work for me on Arch Linux.

I used these steps to accomplish this:
sudo apt update
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10
sudo apt install python3.10-venv
python3.10 -m venv piper
source /piper/bin/activate
python -m pip install pip==24.0
pip install piper-tts

I hope this helps anyone else with the issue!

@jackien1
Copy link

@synesthesiam fix this issue and my life is yours!

@coffeecodeconverter
Copy link

on this article for windows WSL install
#24

mentions a full pip list, that might help you troubleshoot conflicting packages in your case.
can be used to recreate a full, explicit requirements.txt, then re-run pip

@sixersri
Copy link

sixersri commented Dec 3, 2024

I was able to install it on Raspberry Pi 5 with just the pip install piper-tts
Pi5 has Python 3.11.2

I was not able to install it on a Windows 10 PC with Python 3.12, same dependency conflict error reported above.

@lucaspar
Copy link

lucaspar commented Dec 3, 2024

for those willing to use uv, this works well:

uv tool install --python 3.11 piper-tts==1.2.0

@jgilmore
Copy link

jgilmore commented Dec 5, 2024

From what I've looked at, this error is caused by the absence of a wheel build for python3.12 of piper-phenomize manylinux. And maybe piper-tts too, but I don't think pip gets that far.

Since this is the version shipped with ubuntu 24.04 (among others) this problem is now extremely common. And rhasspy hasn't issued a fix. This project might be dead, and in need of a new maintainer.

I haven't figured out how to build an updated wheel file, but HERE Someone has, and made one available. Which is now a 404 error - thanks linkrot.

Other solutions may include downgrading python to 3.11, (which doesn't work for me) installing a previous version of your OS (which I'm not going to try) and restarting with a clean environment.

The incantation for downgrading python should be "pip install python==3.11" though that didn't work for me. In theory, maybe conda works better than pip in managing python versions? Worth trying maybe.

Hopefully I'll be able to build one eventually, and post it here, but no promises. If it's not here yet, you're more than welcome to build it yourself. If you do so successfully, PLEASE post it here so I don't have to figure out more of this crap.

@sogaiu
Copy link

sogaiu commented Dec 11, 2024

Other solutions may include downgrading python to 3.11, (which doesn't work for me) installing a previous version of your OS (which I'm not going to try) and restarting with a clean environment.

FWIW, the impression I get is that 3.10 is more likely to work.

@piercarlo62
Copy link

Hello Guys I faced with the same problems, so piper-phonemize for some reasons is not avaiable on pip distribution repo, so need to install alone before to install piper-tts. here the link where can be found the *.whl files.
https://pypi.org/project/piper-phonemize/#files
choose the *whl file right for your system and -> pip install *.whl.
After -> pip install piper-tts and all will go without problems.

@brandyn
Copy link

brandyn commented Dec 12, 2024

https://pypi.org/project/piper-phonemize/#files choose the *whl file right for your system

Alas, the only 3.12 compatible build is for macos for some reason. (Presumably this is the source of this whole issue.)

@brandyn
Copy link

brandyn commented Dec 13, 2024

I was able to get piper-tts installed on the latest Ubuntu LTS under python3.12 by simply downloading an older version of the project from github and changing one line of the Dockerfile to compile a python 3.12 version. Here are the exact commands I issued in order (since it builds with docker, this should be fairly independent of your particular environ?). I did these as a regular user, not root. You will need to have docker-buildx installed and your user must be in the docker group:

  1. git clone https://github.com/rhasspy/piper-phonemize.git
    
  2. cd piper-phonemize
    
  3. git checkout 20554f24f807146fcf183f4a22ac10e9f24c9f45     # Last checkin with 1.1.0 tag?
    
  4. vi Dockerfile                                             # Add (it's obvious where): /opt/python/cp312-cp312/bin/pip wheel . && \
    
  5. docker buildx build . -t piper-phonemize --output 'type=local,dest=dist'
    
  6. cd dist
    
  7. pip install piper_phonemize-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
    
  8. pip install piper-tts
    

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests