#Unable to install certain tree-sitter packages from pypi

103 messages ยท Page 1 of 1 (latest)

lapis lodge
#

if i try to install tree-sitter-markdown, tree-sitter-json, tree-sitter-toml, tree-sitter-yaml, tree-sitter-html, tree-sitter-rust, tree-sitter-xml or tree-sitter-java from pypi, it just fails

(also is it possible to get python 3.13 on termux?)

jovial zincBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> โœ… Mark Solution

slender pilot
lapis lodge
#

how will it interface with python packages? i need it for textual[syntax]

slender pilot
#

I am planning to help do it in the future but only after I finish all of my other PRs that are currently open

lapis lodge
#

i want to have python 3.13 because the thing im working on is locked to python >= 3.13

lapis lodge
#

but im fine to downgrade it if necessary, just need the tree sitter packages

upbeat sandal
#

You didn't mention what errors you are seeing.

slender pilot
#

@lapis lodge does this work for you? this works for me

#
git clone https://github.com/tree-sitter-grammars/tree-sitter-markdown.git
cd tree-sitter-markdown
pip install .
lapis lodge
#

i prefer to use uv for my packages and stuff

#

so not sure how i would install it into the project

slender pilot
#

ok great but keep in mind that pure-venvs often don't work in Termux so if it doesn't work you might need an unsandboxed-venv

slender pilot
lapis lodge
slender pilot
#

tree-sitter-markdown-inline/src/parser.c:3:10: fatal error: 'tree_sitter/parser.h' file not found

lapis lodge
slender pilot
#
~/code/test $ uv sync
error: No `pyproject.toml` found in current directory or any parent directory
~/code/test $ uv init
Initialized project `test`
~/code/test $ uv sync
Using CPython 3.12.11 interpreter at: /data/data/com.termux/files/usr/bin/python3.12
Creating virtual environment at: .venv
Resolved 1 package in 23ms
Audited in 0.04ms
~/code/test $ uv pip install ~/code/tree-sitter-markdown/
Resolved 1 package in 19ms
   Building tree-sitter-markdown @ file:///data/data/com.termux/files/home/co
โ ™ Preparing packages... (0/1)                                            warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
         If the cache and target directories are on different filesystems, hardlinking may not be supported.
      Built tree-sitter-markdown @ file:///data/data/com.termux/files/home/co
Prepared 1 package in 1.96s
Installed 1 package in 21ms
 + tree-sitter-markdown==0.5.1 (from file:///data/data/com.termux/files/home/code/tree-sitter-markdown)
~/code/test $ 
lapis lodge
#

why does that work ๐Ÿ˜ญ

#

so like do i have to do that for everything else??

slender pilot
slender pilot
lapis lodge
#

should i proot-distro to archlinux?

slender pilot
#

and normal venvs work there

lapis lodge
#

is there any major differences between ubuntu (im assuming thats what termux uses) and arch, aside from apt and pacman?

#

i also have an issue with arch, it says Warning: CPU doesn't support 32-but instructions, some software may not work.

slender pilot
lapis lodge
#

oh

slender pilot
#

if you compare them both to termux, then there actually aren't very many major differences between ubuntu and arch linux other than the package versions, the default settings of some things, the package manager, the preinstalled packages, and a bunch of other stuff that is actually less important than it seems when you compare both of them to Termux, which is significantly different from them on a deeper level

lapis lodge
slender pilot
lapis lodge
#

im on a oneplus 13r

slender pilot
#

but anyone else can reopen it and finish it

#

also you can too if you know how to do it but it's very hard

lapis lodge
#

oh im not at all interested in continuing it ๐Ÿ˜…
no clue about android app development in general

slender pilot
#

wait I realized I can install the arch linux termux proot-distro on that computer right now too, I can follow along what you do and see if it happens to me from the exact thing you do, if you want

lapis lodge
slender pilot
#

wow, thanks, I see the same message on my 64-bit only computer

#

it comes from proot-distro itself,

#

arch linux ARM aarch64 is completely 64-bit I think, so I think it is just a warning and you are unlikely to see any real error from it

lapis lodge
slender pilot
#

you can if that is a good enough solution for you, but if you need better solutions then leave this open

lapis lodge
slender pilot
#

yes you can,

#

in here, open a package request repository and post a link to the AUR package, and list all the packages you need

#

that would be good and help us keep track of the package request

slender pilot
lapis lodge
# slender pilot https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-tree-sitter-markdo...

im kinda confused on tree sitter markdown though
i have it installed

(rovr) ~/rovr> pkg search tree-sitter-markdown
Checking availability of current mirror:
[*] https://mirror.nyist.edu.cn/termux/apt/termux-main: ok
Sorting... Done
Full Text Search... Done
tree-sitter-markdown/stable,now 0.5.1 aarch64 [installed,automatic]
  Markdown grammar for tree-sitter
```but uv cannot use it, even though pip can
uv still generates the insanely large log, but python -m pip gives this

(rovr) ~/rovr> python -m pip install tree-sitter-markdown
Requirement already satisfied: tree-sitter-markdown in /data/data/com.termux/files/usr/lib/python3.12/site-packages (0.5.1)

(rovr) ~/rovr> which python | select path
โ•ญโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ # โ”‚ path โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0 โ”‚ /data/data/com.termux/files/home/rovr/.venv/bin/python โ”‚
โ•ฐโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

slender pilot
lapis lodge
#

the issue with that method is that uv sync will remove it right?

slender pilot
#

oh, does it? I didn't know

lapis lodge
#

uv sync ensures your pyproject.toml is consistent with the venv

slender pilot
#

in that case, actually having pkg install python-tree-sitter-markdown available wouldn't help your problem by itself either,

#

you need to find a way to get uv to allow the "unsandboxed venv"

slender pilot
#

i don't know right now if there is a way to get uv's venv to do that but there might be

lapis lodge
#

i did use uv venv --system-site-packages, but it doesnt show up

#

if i use python -m venv, there isnt a venv activation for nushell

slender pilot
#

oh i see,

#

unfortunately I am not familiar with nushell, so I don't really know what to do if that happens,

#

there is a discussion here about that,

#

but I don't really understand what they are talking about in that thread

#

or where to get the solution that it was closed as completed for

lapis lodge
#

and the repo which was linked got obliterated

lapis lodge
slender pilot
# lapis lodge

so uv still tries to build python tree-sitter-markdown even though you used --no-build-isolation? strange

lapis lodge
#

oh wait i didnt use that lemme try again

#

still breaks

slender pilot
#

it makes it seem like uv isn't respecting --no-build-isolation the way that regular venvs do

#

would you be able to show the code of the project you are trying to build? i could try it without uv to check what happens then

lapis lodge
#

yeah it still gives me the same error even though im using a --system-site-packages venv and installing with --no-build-isolation

lapis lodge
#

you might need to downgrade it, it uses python3.13, so i just remove uv.lock and .python-version and change pyproject.toml to use >=3.12

slender pilot
#

ok i changed pyproject.toml to have python 3.12 instead of 3.13, yeah,

#

now when I use pip install . on your project, it shows this: Requirement already satisfied: tree-sitter-markdown>=0.3.0 in /data/data/com.termux/files/usr/lib/python3.12/site-packages (from textual[syntax]<7.0.0,>=6.0.0->rovr==0.3.0) (0.5.1)

#

and it does fail to build the other ones that aren't the markdown one that it still needs, but i would guess the manual install method for the rest of them might also work for me

lapis lodge
#

uv handles it differently than pip

slender pilot
#

yeah

lapis lodge
#

very weird

#

might need to check for an open issue

slender pilot
#

you should open an issue for this in termux-packages also, by showing that uv in termux installs differently from pip in termux, i did not create the termux uv package but someone else might know what to do in uv

#

but it is related to your issue about the python-tree-sitter-markdown, so you can put the explanation of this in the same issue where you requested those packages, if you want, because,

#

even if we add those packages for pkg install,, they won't work for your use case of uv until there is a way to get uv to find them in the folder /data/data/com.termux/files/usr/lib/python3.12/site-packages

lapis lodge
slender pilot
#

good, I did not anticipate you might report it upstream but that's probably fine