2020年11月2日月曜日

RaspberryPiOSにPython3をインストールし使えるようにする

RaspberryPiOSにPython3をインストールする

以上。終わり。

いやいや。RaspberryPiOSをダウンロードから初めて、SDカードに書き込めばすでにPython3がインストールされています。また、すでによく使われるライブラリもインストールされています。

では、現時点でインストールされているPython3を確認していましょう。

$ python3

Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>

Ctrl+D で終了

続いてインストールされているライブラリを確認してみます。

$ pip3 list
Package Version
----------------- -----------
asn1crypto 0.24.0
astroid 2.1.0
asttokens 1.1.13
automationhat 0.2.0
beautifulsoup4 4.7.1
blinker 1.4
blinkt 0.1.2
buttonshim 0.0.2
Cap1xxx 0.1.3
certifi 2018.8.24
chardet 3.0.4
Click 7.0
colorama 0.3.7
colorzero 1.1
cookies 2.2.1
cryptography 2.6.1
docutils 0.14
drumhat 0.1.0
entrypoints 0.3
envirophat 1.0.0
ExplorerHAT 0.4.2
Flask 1.0.2
fourletterphat 0.1.0
gpiozero 1.5.1
html5lib 1.0.1
idna 2.6
isort 4.3.4
itsdangerous 0.24
jedi 0.13.2
Jinja2 2.10
keyring 17.1.1
keyrings.alt 3.1.1
lazy-object-proxy 1.3.1
logilab-common 1.4.2
lxml 4.3.2
MarkupSafe 1.1.0
mccabe 0.6.1
microdotphat 0.2.1
mote 0.0.4
motephat 0.0.3
mypy 0.670
mypy-extensions 0.4.1
numpy 1.16.2
oauthlib 2.1.0
olefile 0.46
pantilthat 0.0.7
parso 0.3.1
pgzero 1.2
phatbeat 0.1.1
pianohat 0.1.0
picamera 1.13
piglow 1.2.5
pigpio 1.44
Pillow 5.4.1
pip 18.1
psutil 5.5.1
pycrypto 2.6.1
pygame 1.9.4.post1
Pygments 2.3.1
PyGObject 3.30.4
pyinotify 0.9.6
PyJWT 1.7.0
pylint 2.2.2
pyOpenSSL 19.0.0
pyserial 3.4
python-apt 1.8.4.1
pyxdg 0.25
rainbowhat 0.1.0
requests 2.21.0
requests-oauthlib 1.0.0
responses 0.9.0
roman 2.0.0
RPi.GPIO 0.7.0
RTIMULib 7.2.1
scrollphat 0.0.7
scrollphathd 1.2.1
SecretStorage 2.3.1
Send2Trash 1.5.0
sense-hat 2.2.0
setuptools 40.8.0
simplejson 3.16.0
six 1.12.0
skywriter 0.0.7
sn3218 1.2.7
soupsieve 1.8
spidev 3.4
ssh-import-id 5.7
thonny 3.2.6
touchphat 0.0.1
twython 3.7.0
typed-ast 1.3.1
unicornhathd 0.0.4
urllib3 1.24.1
webencodings 0.5.1
Werkzeug 0.14.1
wheel 0.32.3
wrapt 1.10.11

ちなみにPython2はどうでしょうか。
$ python
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ctrl+D で終了

ついでにPython2のライブラリを見てみます
$pip list
Package           Version
----------------- -----------
arandr            0.1.9
asn1crypto        0.24.0
automationhat     0.2.0
blinker           1.4
blinkt            0.1.2
buttonshim        0.0.2
Cap1xxx           0.1.3
certifi           2018.8.24
chardet           3.0.4
Click             7.0
colorama          0.3.7
colorzero         1.1
configparser      3.5.0b2
cookies           2.2.1
cryptography      2.6.1
dnspython         1.16.0
drumhat           0.1.0
entrypoints       0.3
enum34            1.1.6
envirophat        1.0.0
ExplorerHAT       0.4.2
Flask             1.0.2
fourletterphat    0.1.0
funcsigs          1.0.2
gpg               1.12.0
gpiozero          1.5.1
idna              2.6
ipaddress         1.0.17
itsdangerous      0.24
Jinja2            2.10
keyring           17.1.1
keyrings.alt      3.1.1
MarkupSafe        1.1.0
microdotphat      0.2.1
mock              2.0.0
mote              0.0.4
motephat          0.0.3
numpy             1.16.2
oauthlib          2.1.0
olefile           0.46
pantilthat        0.0.7
pbr               4.2.0
phatbeat          0.1.1
pianohat          0.1.0
picamera          1.13
piglow            1.2.5
pigpio            1.44
Pillow            5.4.1
pip               18.1
pycairo           1.16.2
pycrypto          2.6.1
pygame            1.9.4.post1
PyGObject         3.30.4
pyinotify         0.9.6
PyJWT             1.7.0
pyOpenSSL         19.0.0
pyserial          3.4
pyxdg             0.25
rainbowhat        0.1.0
requests          2.21.0
requests-oauthlib 1.0.0
responses         0.9.0
RPi.GPIO          0.7.0
RTIMULib          7.2.1
scrollphat        0.0.7
scrollphathd      1.2.1
SecretStorage     2.3.1
sense-hat         2.2.0
setuptools        40.8.0
simplejson        3.16.0
six               1.12.0
skywriter         0.0.7
sn3218            1.2.7
spidev            3.4
touchphat         0.0.1
twython           3.7.0
unicornhathd      0.0.4
urllib3           1.24.1
Werkzeug          0.14.1
wheel             0.32.3

さて、ここまで見て
お気づきいただけましたでしょうか…。

$python
として実行するとPython2が実行されています。

Python3を実行するには
$python3
として実行します。

自分が使っているPython3のライブラリを追加しようとしてpip install ほにゃららとすると、そのpipはpip2を呼び出しているため、Python2へ追加されてしまいます。Python3のライブラリとして使用できません。し、当然インポート時にもエラーになります。

Python2サポート終了

さて、このpython2。サポートが2020年1月1日に終了しています。
Python2最終版が
Python 2.7.18 April 20, 2020

Python Foundationはもう使用しないでくださいと案内しています

とはいえ、Python2アンインストールするのはちょっと怖い。
どうなるのだろうか。