フリーランチ食べたい

No Free Lunch in ML and Life. Pythonや機械学習のことを書きます。

pipが v10->v18になってビビってメーリングリスト見たみたらリリースサイクルも変わってた

TLDR

急にv18が来たので(QVK)

pipが急にv18になってビビった。 https://github.com/pypa/pip/releases/tag/18.0

$ pip install -U pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 4.8MB/s
Installing collected packages: pip
  Found existing installation: pip 10.0.1
    Uninstalling pip-10.0.1:
      Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0

「アップデートね、おけおけ…...18!!?」みたいな感じになった。

CalVer

Twitterを眺めてみると「calver」というワードがチラホラ出ていて、これはCalendar Versioningのことらしい。 calver.org

つまり pip v18.0 の18は2018の18だったということ。 ubuntu18.04 のようにMinor Versionは月になっているが pipは 18.0 のようになっているので 18.0~3 のようになるのかな。

リリースサイクルも変わってた

詳細な情報を確認するためにメーリングリストを見たらちゃんとCalVerになることが書いてあった

Google グループ

This is the first pip release since adopting 3 month release cadence and 
a Calendar based versioning scheme (also known as CalVer). In simpler 
words, there will be a new pip release every 3 months unless there are 
no changes since the previous release. More details such as release 
months can be found in pip's development documentation. 

それとは別にリリースサイクルも変わっていることにも気付いた。今後はCommitが1つでもあれば3ヶ月おきにリリースしていくとのこと。 今までは結構リリースにムラがあったので(Releases · pypa/pip · GitHub) 安定した開発を続けていこうという意思なのかな。 (Releases見て気付いたけど、2017は全くリリースがなかったのにビックリ)

他にもちょいちょい変更あった

Google グループ 上記のメーリスより

- Python 3.3 is no longer supported - if you need pip on Python 3.3, 
  you should stay on pip 10, which is the last version to support Python 
  3.3. 
- Complete PEP 518 support - includes support for installation of build 
  dependencies from source and Unicode support on Python 2 and Windows 
- New --prefer-binary flag, to prefer older wheels over newer sdists 
- Many bug fixes and minor improvements 

大きなものだと↓がありそう。

  • Python3.3のサポート終了
  • PEP518(https://www.python.org/dev/peps/pep-0518/)のサポート完了
    • なんのPEPかと思ったらpackageをbuildするformatの仕様だったよう
    • もしかしてこれでinstallできなくなるpackageがあるのかも?

まとめ

  • 能動的にメーリングリストを見ることは少ないけど、受動的に情報を受け取っているだけでは知れないことがたくさんあるので、できるだけチェックした方がよい。
  • Software全体としてCalVerに移行していく流れがあるような気がする。