名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

Python3.8をいれた

リリースされてた

Python Release Python 3.8.0 | Python.org https://www.python.org/downloads/release/python-380/

一応ローカルは pyenv ベースで管理しているが、PRが受け付けられたのがついさっきだったので、MacのHomebrewで試したけれども、まだ入らなかった。

PRはこれ https://github.com/pyenv/pyenv/pull/1416

普段リリースされてからどれくらいかかるのかわからないが、だいたい1日以内にはmasterにマージされるっぽい?のかなっていうのを掴む。

そのあと、最新版の pyenv を brew 経由で無理やり入れた。過去に自分で書いた記事が役に立った。

qrunch.net

[10/15 23:17:37] $ brew install --HEAD --force pyenv
Updating Homebrew...
Error: pyenv 1.2.13_1 is already installed
To install HEAD_1, first run `brew unlink pyenv`.
Warning: Skipping (old) /usr/local/Cellar/pyenv/1.2.13_1 due to it being linked

[10/15 23:18:34] $ brew unlink pyenv
Unlinking /usr/local/Cellar/pyenv/1.2.13_1... 4 symlinks removed
pyenv:11: command not found: pyenv                                                                                      

[10/15 23:18:45] $ brew install --HEAD --force pyenv
Updating Homebrew...
==> Cloning https://github.com/pyenv/pyenv.git
Cloning into '/Users/yumechi/Library/Caches/Homebrew/pyenv--git'...
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
==> src/configure
==> make -C src
🍺  /usr/local/Cellar/pyenv/HEAD-d6d6bc8_1: 656 files, 2.4MB, built in 27 seconds
Removing: /usr/local/Cellar/pyenv/1.2.13_1... (650 files, 2.4MB)
Removing: /Users/yumechi/Library/Caches/Homebrew/pyenv--1.2.13_1.mojave.bottle.tar.gz... (625.3KB)

[10/15 23:19:29] $ pyenv install 3.8.0
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.0.tar.xz...
-> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
Installing Python-3.8.0...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.0 to /usr/local/var/pyenv/versions/3.8.0

無事インストールできましたとさ。

[10/15 23:34:10] $ python 
Python 3.8.0 (default, Oct 15 2019, 23:23:09) 
[Clang 11.0.0 (clang-1100.0.33.8)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'aaaaa'
>>> if (n := len(a)) > 10:
...     print(f"List is too long ({n} elements, expected <= 10)")
... 
>>> n
5
>>> exit()

新機能はベータ版とかRC版の時点で、様々な人がQiita記事に色々書いてたのが見えたので、リリースノートと照らし合わせながらサンプルコードでも眺めてみようかな。