[Bug]依存ライブラリが対応していないため、Python3.12環境にインストールできない
Closed this issue · 3 comments
🐛 Bug
説明
見る感じ依存ライブラリ2つが現状対応していないため、Python3.12環境にインストールできない状態になっています
現状挙動
インストール時にエラーが出る。エラーについては補足情報のIssueを参照
理想の挙動
普通にpip installできる
再現方法やエラー内容
Python3.12環境でpip install
実行環境
- ja-timexのバージョン : 0.2.7
- Pythonのバージョン : 3.12.0
- OSの情報: MacOS Sonoma
追加/補足情報
Pendulum
https://github.com/sdispater/pendulum
Pendulum v2.1系はPython3.12に対応していません。廃止されたsetuptoolsが影響していそうです。
sdispater/pendulum#696
そして2.1系をこれ以上アップデートする意志はないようです。なので3系への切り替えが必要です。
ただ、3系は今のところ安定版のリリースがされていません。
ver3.0.0bが存在しており、実装そのものはおおむね仕上がってそうに見えます。
mojimoji
https://github.com/studio-ousia/mojimoji
mojimojiはPython3.12に対応していません。Unicode周りのAPIが廃止された影響を受けています。
studio-ousia/mojimoji#24
ただ、このライブラリはそれほど複雑なことをやっていなさそうに見えます。
他のライブラリへの切り替えや、同様の挙動をする自前実装への切り替えを検討しても良いのかもしれません。
私が作った修正差分が一応存在しています。studio-ousia/mojimoji#25
@tpdn 報告ありがとうございます。また、依存パッケージの現状調査も記載いただき、大変助かりました。
まずpendulumについてはタイムゾーンのハンドリング含めて使用箇所が多いため置き換えは難しく、依存先のPython3.12を待つほかなさそうです。ver3.0.0が正式にリリースしたら依存バーションを上げたいと思います。また、mojimojiは全角半角の変換のみに使用しているのみで置き換えが可能ではあるため、こちらは代替手段を実装すれば問題ないと思われます。
自分でやってみた感じでは、Pendulum3.0.0b1と自分で修正したmojimojiの組み合わせでフルテストをPython3.8-3.11まですんなりと通せることを確認できました。
Python3.12でも依存関係を解消すればテストが通ります。
tpdn#2
しかしながらPython3.12に対応するとなるとdev dependenciesに大量のパッケージが入っているため、それらの依存関係解消が大変そうに見えました。
ipython・streamlit・pandasなどについては、不要であればdev dependenciesからの撤去も検討すると今後のアップデートが楽になりそうです。