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

[Bug]依存ライブラリが対応していないため、Python3.12環境にインストールできない #87

Closed
tpdn opened this issue Oct 11, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@tpdn
Copy link
Contributor

tpdn commented Oct 11, 2023

🐛 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が影響していそうです。
python-pendulum/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 tpdn added the bug Something isn't working label Oct 11, 2023
@yagays
Copy link
Owner

yagays commented Oct 19, 2023

@tpdn 報告ありがとうございます。また、依存パッケージの現状調査も記載いただき、大変助かりました。

まずpendulumについてはタイムゾーンのハンドリング含めて使用箇所が多いため置き換えは難しく、依存先のPython3.12を待つほかなさそうです。ver3.0.0が正式にリリースしたら依存バーションを上げたいと思います。また、mojimojiは全角半角の変換のみに使用しているのみで置き換えが可能ではあるため、こちらは代替手段を実装すれば問題ないと思われます。

@tpdn
Copy link
Contributor Author

tpdn commented Oct 22, 2023

自分でやってみた感じでは、Pendulum3.0.0b1と自分で修正したmojimojiの組み合わせでフルテストをPython3.8-3.11まですんなりと通せることを確認できました。
Python3.12でも依存関係を解消すればテストが通ります。
tpdn#2

しかしながらPython3.12に対応するとなるとdev dependenciesに大量のパッケージが入っているため、それらの依存関係解消が大変そうに見えました。
ipython・streamlit・pandasなどについては、不要であればdev dependenciesからの撤去も検討すると今後のアップデートが楽になりそうです。

@yagays
Copy link
Owner

yagays commented Nov 4, 2023

@tpdn mojimojiの依存削除ありがとうございました。

pendulumのv3.0.0b1も各種環境でテストが通りましたので、こちらを使用してPython3.12対応の0.2.8をリリースしました。pendulum側の様子を見てstableが出たらそちらを使用する予定ですが、現状はbeta版を利用した0.2.8を利用いただければと思います。

@yagays yagays closed this as completed Nov 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants