2
0

poetryに直接wheelを読み込ませる方法

Last updated at Posted at 2024-03-20

pystanが動く環境をpoetryとdockerを使って作ろうとしましたが、僕の使っているM1 macではpystanが依存しているhttpstanのwheelファイルが用意されていないらしく、httpstanを直接buildしてpoetryに読み込ませる羽目になりました。

同じ悩みを持っていた方

dockerコンテナの作成や、poetryプロジェクトの作成は終わっているものとします。

ライブラリのダウンロード

wheelファイルがないライブラリのgithubに行ってライブラリをダウンロードします。

wget https://github.com/stan-dev/httpstan/archive/refs/tags/4.12.0.tar.gz
tar -zxvf 4.12.0.tar.gz

ライブラリのbuild

githubのinstallationに従ってbuildしてwheelを作ります。

cd httpstan-4.12.0
make

httpstanではpoetry buildでwheelを作成します。

python3 -m poetry build

wheelをpoetryに読み込ませる

作成されたwheelをプロジェクト内のpyproject.tomlに読み込ませます。[tools.poetry.dependencies]にはライブラリ名=バージョンが書かれていますが、バージョンの部分を{path}に変えることローカルのwheelを読み込ませることができます。

# 普通にインストールするとpymcのようになる。
pymc = "^5.11.0"

# ローカルのwheelのpathを指定することでローカルから読み込んでくれる
httpstan = {path = "/home/httpstan-4.12.0/dist/httpstan-4.12.0-cp311-cp311-manylinux_2_36_aarch64.whl"}

参考にしたサイト
https://python-poetry.org/docs/dependency-specification/#path-dependencies

目的のライブラリをインストール

依存関係にあるライブラリを読み込ませたので、目的のライブラリをインストールできます。

poetry add pystan

あとがき

前にm1 Macでのtensorflowのインストール方法の記事を書きましたが、CPUのアーキテクチャが違うだけでこれほどまでにめんどくさいと、だんだんイライラしてきます。

お金があればlinux用の端末も買えるのに...

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0