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

pip install textual[syntax] does not work for python3.13 for latest version of textual #5208

Open
kylepollina opened this issue Nov 5, 2024 · 3 comments

Comments

@kylepollina
Copy link

kylepollina commented Nov 5, 2024

Have you checked closed issues? https://github.com/Textualize/textual/issues?q=is%3Aissue+is%3Aclosed

  • Yes

Please give a brief but clear explanation of the issue. If you can, include a complete working example that demonstrates the bug. Check it can run without modifications.

When trying to install textual[syntax] using python3.13, pip fails to find a version after textual==0.37.1 to install. Follow these commands using python3.12 we are able to successfully download the latest textual using 'pip install textual[syntax]`

python3.12 -m venv env
source env/bin/activate
pip install "textual[syntax]"
pip list | grep textual

The output is

textual               0.85.2

But running the same commands using python3.13...

python3.13 -m venv env
source env/bin/activate
pip install "textual[syntax]"
Collecting textual[syntax]
  Downloading textual-0.85.2-py3-none-any.whl.metadata (5.6 kB)
Collecting markdown-it-py>=2.1.0 (from markdown-it-py[linkify,plugins]>=2.1.0->textual[syntax])
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting platformdirs<5,>=3.6.0 (from textual[syntax])
  Downloading platformdirs-4.3.6-py3-none-any.whl.metadata (11 kB)
Collecting rich>=13.3.3 (from textual[syntax])
  Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)
Collecting tree-sitter<0.21.0,>=0.20.1 (from textual[syntax])
  Downloading tree_sitter-0.20.4.tar.gz (140 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
INFO: pip is looking at multiple versions of textual[syntax] to determine which version is compatible with other requirements. This could take a while.
Collecting textual[syntax]
  Downloading textual-0.85.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.85.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.84.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.83.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.82.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.81.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.80.1-py3-none-any.whl.metadata (5.6 kB)
INFO: pip is still looking at multiple versions of textual[syntax] to determine which version is compatible with other requirements. This could take a while.
  Downloading textual-0.80.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.79.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.79.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.78.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.77.0-py3-none-any.whl.metadata (5.6 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading textual-0.76.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.75.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.75.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.74.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.73.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.72.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.71.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.70.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.69.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.68.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.67.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.67.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.66.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.65.2-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.65.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.65.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.64.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.6-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.5-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.4-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.3-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.2-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.63.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.62.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.61.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.61.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.60.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.60.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.59.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.58.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.58.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.57.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.57.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.56.4-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.56.3-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.56.2-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.56.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.56.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.55.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.55.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.54.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.53.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.53.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.52.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.52.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.51.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.50.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.50.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.49.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.48.2-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.48.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.48.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.47.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.47.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.46.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.45.1-py3-none-any.whl.metadata (5.6 kB)
Collecting importlib-metadata>=4.11.3 (from textual[syntax])
  Downloading importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting textual[syntax]
  Downloading textual-0.45.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.44.1-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.44.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.43.2-py3-none-any.whl.metadata (5.7 kB)
  Downloading textual-0.43.1-py3-none-any.whl.metadata (5.7 kB)
  Downloading textual-0.43.0-py3-none-any.whl.metadata (5.7 kB)
  Downloading textual-0.42.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.41.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.40.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.39.0-py3-none-any.whl.metadata (5.6 kB)
  Downloading textual-0.38.1-py3-none-any.whl.metadata (5.8 kB)
WARNING: textual 0.38.1 does not provide the extra 'syntax'
  Downloading textual-0.38.0-py3-none-any.whl.metadata (5.8 kB)
WARNING: textual 0.38.0 does not provide the extra 'syntax'
  Downloading textual-0.37.1-py3-none-any.whl.metadata (5.7 kB)
WARNING: textual 0.37.1 does not provide the extra 'syntax'
Collecting typing-extensions<5.0.0,>=4.4.0 (from textual[syntax])
  Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting zipp>=3.20 (from importlib-metadata>=4.11.3->textual[syntax])
  Downloading zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.1.0->markdown-it-py[linkify,plugins]>=2.1.0->textual[syntax])
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting linkify-it-py<3,>=1 (from markdown-it-py[linkify,plugins]>=2.1.0->textual[syntax])
  Downloading linkify_it_py-2.0.3-py3-none-any.whl.metadata (8.5 kB)
Collecting mdit-py-plugins (from markdown-it-py[linkify,plugins]>=2.1.0->textual[syntax])
  Downloading mdit_py_plugins-0.4.2-py3-none-any.whl.metadata (2.8 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich>=13.3.3->textual[syntax])
  Downloading pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting uc-micro-py (from linkify-it-py<3,>=1->markdown-it-py[linkify,plugins]>=2.1.0->textual[syntax])
  Downloading uc_micro_py-1.0.3-py3-none-any.whl.metadata (2.0 kB)
Downloading importlib_metadata-8.5.0-py3-none-any.whl (26 kB)
Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Downloading rich-13.9.4-py3-none-any.whl (242 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading textual-0.37.1-py3-none-any.whl (433 kB)
Downloading linkify_it_py-2.0.3-py3-none-any.whl (19 kB)
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Downloading pygments-2.18.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 43.4 MB/s eta 0:00:00
Downloading zipp-3.20.2-py3-none-any.whl (9.2 kB)
Downloading mdit_py_plugins-0.4.2-py3-none-any.whl (55 kB)
Downloading uc_micro_py-1.0.3-py3-none-any.whl (6.2 kB)
Installing collected packages: zipp, uc-micro-py, typing-extensions, pygments, mdurl, markdown-it-py, linkify-it-py, importlib-metadata, rich, mdit-py-plugins, textual
Successfully installed importlib-metadata-8.5.0 linkify-it-py-2.0.3 markdown-it-py-3.0.0 mdit-py-plugins-0.4.2 mdurl-0.1.2 pygments-2.18.0 rich-13.9.4 textual-0.37.1 typing-extensions-4.12.2 uc-micro-py-1.0.3 zipp-3.20.2

[notice] A new release of pip is available: 24.2 -> 24.3.1

And then running pip list | grep textual we get textual 0.37.1

Copy link

github-actions bot commented Nov 5, 2024

We found the following entries in the FAQ which you may find helpful:

Feel free to close this issue if you found an answer in the FAQ. Otherwise, please give us a little time to review.

This is an automated reply, generated by FAQtory

@TomJGooding
Copy link
Contributor

I think the problem is that thetree-sitter syntax dependency fails to build with Python 3.13 before tree-sitter v0.23.1.

Textual is using an older version of tree-sitter, as there were significant API changes and also doesn't support Python 3.8. There's a good summary of the difficulties of upgrading here:

@kylepollina
Copy link
Author

Thanks!

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

2 participants