Textualize / textual-web

Run TUIs and terminals in your browser
MIT License
782 stars 17 forks source link

`textual-web` can't be installed while depending on Python 3.12 (macOS) #31

Open davep opened 1 year ago

davep commented 1 year ago

It appears that textual-web can't currently be installed when Python 3.12 will be the environment's Python (at least on macOS, Python installed via pyenv).

Using pipx, for example, I get the following error:

Fatal error from pip prevented installation. Full pip output in file:
    /Users/davep/.local/pipx/logs/cmd_2023-11-06_08.18.46_pip_errors.log

pip failed to build packages:
    aiohttp
    uvloop

Some possibly relevant errors from pip install:
    fatal error: too many errors emitted, stopping now [-ferror-limit=]

Error installing textual-web.

An example log:

cmd_2023-11-06_08.12.43_pip_errors.log

If I force Python 3.11:

$ pyenv global 3.11
$ pipx install --force --python (which python) textual-web

(using fish above, use appropriate substitution syntax for your shell of choice) it installs just fine.

TomJGooding commented 1 year ago

It looks like Python 3.12 is only supported in the aiohttp beta currently.

TomJGooding commented 12 months ago

It looks like Python 3.12 is only supported in the aiohttp beta currently.

aiohttp v3.9 has just been released. It looks like uvloop added Python 3.12 support in v0.18.

4b11b4 commented 12 months ago

Also running into this issue, but only for uvloop [Uploading cmd_2023-11-21_08.04.31_pip_errors.log…]()

jco-c commented 11 months ago

Same issue for Windows 10 on python 3.12. Some package used by textual-web depends on multidict and frozenlist (maybe also aiohttp?), which both don't have wheels for Windows yet. PRs for both of them exist already though: https://github.com/aio-libs/frozenlist/pull/553 https://github.com/aio-libs/multidict/pull/877

ssteinerx commented 11 months ago

3.12.1 on Ubuntu 23.10, pipx fails with:

pip failed to build package:
    uvloop

But, in a 3.12.1 virtualenv?

$ pip install uvloop
Collecting uvloop
  Downloading uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Downloading uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 15.9 MB/s eta 0:00:00
Installing collected packages: uvloop
Successfully installed uvloop-0.19.0

Go figure.