Dialect does not work due to ImportError

I installed the dialect-git AUR, and it installed successfully.

When I try to run it, I get the following error.

Traceback (most recent call last):
  File "/usr/local/share/dialect/dialect/main.py", line 45, in do_activate
    self.window = DialectWindow(
  File "/usr/local/share/dialect/dialect/window.py", line 99, in __init__
    self.translator = Translator()
  File "/usr/lib/python3.8/site-packages/googletrans/client.py", line 61, in __init__
    self.client = httpx.Client(http2=http2)
  File "/usr/lib/python3.8/site-packages/httpx/_client.py", line 590, in __init__
    raise ImportError(
ImportError: Using http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.

I am running fully updated Manjaro Cinnamon. Is there a way to fix it without installing the package from pip?
I already have python-httpx installed.

The same error also appears in the dialect AUR.

@archisman python-h2 installed?

pamac install python-h2
2 Likes

@megavolt It worked after installing python-h2.

@Yochanan Maybe the PKGBUILD needs to be updated? I did not comment in the AUR page because I don’t know if this is a Manjaro only issue, and people regularly write in the AUR comments section that Manjaro is off topic there.

Technically this isn’t an issue with Dialect. HTTP/2 support is optional for HTTPX. Notice it says,

ImportError: Using http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.

python-h2 is an optional dependency of python-httpcore which is required by python-httpx which is required by python-googletrans which is required by dialect. See how that works? :wink:

@Yochanan I see. Although this dependency is “optional”, it prevents the Dialect window from opening.

I will add this information in the AUR page.

H2 should be added as a dependency for GoogleTrans, not Dialect.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.