🌊
poetryでllama-indexをm1 docker環境にinstallできなくてつらい
はじめに
結論から言うと、依存ライブラリであるtree-sitter-languagesがaarch64アーキテクチャのmanylinux2014版のwheelファイルを提供していないが原因です。
加えてこのライブラリはソースインポートをサポートしていないので、根本解決はメンテナーに対応するバイナリファイルを作成してもらう他ないです。
追記
該当ライブラリにissueを出したところ、解消してくれました。ありがたいや...
これに該当する記事全然見つからなくて、poetryやllama-indexって意外とまだ使われていないなーと実感しました。
暫定対処
- image build時に
--platform linux/amd64
を付けてx86アーキテクチャで開発する- ビルドやメモリ使用率がめちゃめちゃ重くなって辛い
- pipでinstallする
-
pip install llama-index
なら問題ない 何故?
-
- M1 Macで開発しない
以下備忘録
$ poetry add llama-index
Skipping virtualenv creation, as specified in config file.
Using version ^0.8.37 for llama-index
Updating dependencies
Resolving dependencies... (7.7s)
Writing lock file
Package operations: 53 installs, 0 updates, 0 removals
• Installing typing-extensions (4.8.0)
• Installing annotated-types (0.5.0)
• Installing certifi (2023.7.22)
• Installing charset-normalizer (3.3.0)
• Installing frozenlist (1.4.0)
• Installing idna (3.4)
• Installing multidict (6.0.4)
• Installing mypy-extensions (1.0.0)
• Installing packaging (23.1)
• Installing pydantic-core (2.10.1)
• Installing urllib3 (1.26.16)
• Installing aiosignal (1.3.1)
• Installing async-timeout (4.0.3)
• Installing attrs (23.1.0)
• Installing exceptiongroup (1.1.3)
• Installing greenlet (2.0.2)
• Installing jsonpointer (2.4)
• Installing marshmallow (3.20.1)
• Installing numpy (1.25.2)
• Installing pydantic (2.4.2)
• Installing requests (2.31.0)
• Installing six (1.16.0)
• Installing sniffio (1.3.0)
• Installing yarl (1.9.2)
• Installing typing-inspect (0.9.0)
• Installing aiohttp (3.8.5)
• Installing anyio (3.7.1)
• Installing click (8.1.7)
• Installing dataclasses-json (0.6.1)
• Installing joblib (1.3.2)
• Installing jsonpatch (1.33)
• Installing langsmith (0.0.41)
• Installing numexpr (2.8.7)
• Installing python-dateutil (2.8.2)
• Installing pytz (2023.3.post1)
• Installing pyyaml (6.0.1)
• Installing regex (2023.8.8)
• Installing soupsieve (2.5)
• Installing sqlalchemy (2.0.21)
• Installing tenacity (8.2.3)
• Installing tqdm (4.66.1)
• Installing tree-sitter (0.20.2)
• Installing tzdata (2023.3)
• Installing beautifulsoup4 (4.12.2)
• Installing fsspec (2023.9.2)
• Installing langchain (0.0.305)
• Installing nest-asyncio (1.5.8)
• Installing nltk (3.8.1)
• Installing openai (0.28.1)
• Installing pandas (2.1.1)
• Installing tiktoken (0.5.1)
• Installing tree-sitter-languages (1.7.0): Failed
RuntimeError
Unable to find installation candidates for tree-sitter-languages (1.7.0)
at /etc/poetry/venv/lib/python3.10/site-packages/poetry/installation/chooser.py:109 in choose_for
105│
106│ links.append(link)
107│
108│ if not links:
→ 109│ raise RuntimeError(f"Unable to find installation candidates for {package}")
110│
111│ # Get the best link
112│ chosen = max(links, key=lambda link: self._sort_key(package, link))
113│
$ pip install tree-sitter-languages
ERROR: Could not find a version that satisfies the requirement tree-sitter-languages (from versions: none)
ERROR: No matching distribution found for tree-sitter-languages
Discussion