{"id":2843,"date":"2020-07-28T22:31:55","date_gmt":"2020-07-28T13:31:55","guid":{"rendered":"http:\/\/matoken.org\/blog\/?p=2843"},"modified":"2020-07-28T22:31:55","modified_gmt":"2020-07-28T13:31:55","slug":"default-python-switching-on-raspberry-pi-os-debian-ubuntu","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2020\/07\/28\/default-python-switching-on-raspberry-pi-os-debian-ubuntu\/","title":{"rendered":"Raspberry Pi OS\/Debian\/Ubuntu\u3067\u306e\u65e2\u5b9a\u306ePython\u5207\u308a\u66ff\u3048"},"content":{"rendered":"<div class=\"paragraph\">\n<p>\u6700\u8fd1\u4f7f\u3046Python\u30a2\u30d7\u30ea\u306fPython3\u304c\u591a\u304f\u306a\u3063\u3066\u3044\u307e\u3059\uff0ePython2\u306eEoL\u304c\u8feb\u3063\u3066\u3044\u308b\u306e\u3067\u6b63\u3057\u3044\u306e\u3067\u3059\u304c\uff0c\u624b\u5143\u306e\u74b0\u5883\u3067\u306f <code>python<\/code> \u30b3\u30de\u30f3\u30c9\u306f <code>python2<\/code> \u306b\u5411\u3044\u3066\u3044\u307e\u3059\uff0e<code>python3<\/code> \u30b3\u30de\u30f3\u30c9\u3092\u53e9\u3051\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u3053\u308c\u3092 <code>python3<\/code> \u306b\u5411\u3051\u3089\u308c\u306a\u3044\u304b\u306a\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Raspberry Pi OS arm64(buster\u30d9\u30fc\u30b9)\u3067\u306ePython\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e<code>python<\/code> \u30b3\u30de\u30f3\u30c9\u306f <code>python2.7<\/code> \u3092\u547c\u3076\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ python --version\nPython 2.7.16\n$ ls -l `which python`\nlrwxrwxrwx 1 root root 7  3\u6708  5  2019 \/usr\/bin\/python -&gt; python2\n$ ls -l `which python2`\nlrwxrwxrwx 1 root root 9  3\u6708  5  2019 \/usr\/bin\/python2 -&gt; python2.7\n$ ls -l `which python3`\nlrwxrwxrwx 1 root root 9  3\u6708 26  2019 \/usr\/bin\/python3 -&gt; python3.7<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><code>update-alternatives<\/code> \u3067\u7ba1\u7406\u3055\u308c\u3066\u308b\u306e\u304b\u306a?\u3068\u601d\u3044\u307e\u3057\u305f\u304c\u8a2d\u5b9a\u304c\u306a\u3055\u305d\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ update-alternatives --get-selections|grep -i ^python<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><code>update-alternatives<\/code> \u3092\u624b\u52d5\u3067\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3059\uff0e<br \/>\n\u3053\u308c\u3067 <code>python<\/code> \u30b3\u30de\u30f3\u30c9\u304c <code>python3.7<\/code> \u3092\u547c\u3076\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ sudo update-alternatives --install \/usr\/bin\/python python \/usr\/bin\/python2.7 1\nupdate-alternatives: \/usr\/bin\/python (python) \u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u81ea\u52d5\u30e2\u30fc\u30c9\u3067 \/usr\/bin\/python2.7 \u3092\u4f7f\u3044\u307e\u3059\n$ sudo update-alternatives --install \/usr\/bin\/python python \/usr\/bin\/python3.7 2\nupdate-alternatives: \/usr\/bin\/python (python) \u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u81ea\u52d5\u30e2\u30fc\u30c9\u3067 \/usr\/bin\/python3.7 \u3092\u4f7f\u3044\u307e\u3059\n$ ls -l `which python`\nlrwxrwxrwx 1 root root 24  7\u6708 28 08:47 \/usr\/bin\/python -&gt; \/etc\/alternatives\/python\n$ python --version\nPython 3.7.3\n$ update-alternatives --query python\nName: python\nLink: \/usr\/bin\/python\nStatus: auto\nBest: \/usr\/bin\/python3.7\nValue: \/usr\/bin\/python3.7\n\nAlternative: \/usr\/bin\/python2.7\nPriority: 1\n\nAlternative: \/usr\/bin\/python3.7\nPriority: 2<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u5207\u308a\u66ff\u3048\u305f\u3044\u3068\u304d\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u9078\u629e\u80a2\u306a\u304a\u305b\u3070ok\uff0e<\/p>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ sudo update-alternatives --config python\nalternative python (\/usr\/bin\/python \u3092\u63d0\u4f9b) \u306b\u306f 2 \u500b\u306e\u9078\u629e\u80a2\u304c\u3042\u308a\u307e\u3059\u3002\n\n  \u9078\u629e\u80a2    \u30d1\u30b9              \u512a\u5148\u5ea6  \u72b6\u614b\n------------------------------------------------------------\n* 0            \/usr\/bin\/python3.7   2         \u81ea\u52d5\u30e2\u30fc\u30c9\n  1            \/usr\/bin\/python2.7   1         \u624b\u52d5\u30e2\u30fc\u30c9\n  2            \/usr\/bin\/python3.7   2         \u624b\u52d5\u30e2\u30fc\u30c9\n\n\u73fe\u5728\u306e\u9078\u629e [*] \u3092\u4fdd\u6301\u3059\u308b\u306b\u306f &lt;Enter&gt;\u3001\u3055\u3082\u306a\u3051\u308c\u3070\u9078\u629e\u80a2\u306e\u756a\u53f7\u306e\u30ad\u30fc\u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044:<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Debian asid amd64, Ubuntu 20.04 LTS amd64 \u3067\u3082\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"title\">Debian sid amd64<\/div>\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ update-alternatives --query python\nName: python\nLink: \/usr\/bin\/python\nStatus: auto\nBest: \/usr\/bin\/python3.8\nValue: \/usr\/bin\/python3.8\n\nAlternative: \/usr\/bin\/python2.7\nPriority: 1\n\nAlternative: \/usr\/bin\/python3.7\nPriority: 2\n\nAlternative: \/usr\/bin\/python3.8\nPriority: 3<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"listingblock ahell\">\n<div class=\"title\">Ubuntu 20,04 LTS amd64<\/div>\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ update-alternatives --query python\nName: python\nLink: \/usr\/bin\/python\nStatus: auto\nBest: \/usr\/bin\/python3.8\nValue: \/usr\/bin\/python3.8\n\nAlternative: \/usr\/bin\/python2.7\nPriority: 1\n\nAlternative: \/usr\/bin\/python3.5\nPriority: 2\n\nAlternative: \/usr\/bin\/python3.8\nPriority: 3<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3066\u3053\u3068\u3067 <code>python<\/code> \u30b3\u30de\u30f3\u30c9\u304c <code>python3<\/code> \u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u3057\u304b\u3057\u30b7\u30b9\u30c6\u30e0\u30ef\u30a4\u30c9\u306a\u8a2d\u5b9a\u306a\u306e\u3067\u30b7\u30b9\u30c6\u30e0\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306a\u3069\u3067\u554f\u984c\u304c\u51fa\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e<br \/>\n\u554f\u984c\u304c\u8d77\u3053\u3063\u305f\u3089python2\u306b\u623b\u3057\u307e\u3057\u3087\u3046\uff0e<\/p>\n<\/div>\n<div class=\"listingblock shell\">\n<div class=\"title\">Rasoberry Pi OS amd64<\/div>\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ dpkg-query -W python python3\npython  2.7.16-1\npython3 3.7.3-1\n$ lsb_release -dr\nDescription:    Debian GNU\/Linux 10 (buster)\nRelease:        10\n$ uname -m\naarch64\n$ cat \/proc\/device-tree\/model&amp;&amp;echo\nRaspberry Pi 3 Model B Rev 1.2<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"listingblock shell\">\n<div class=\"title\">Debian sid amd64<\/div>\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ dpkg-query -W python python3 python3.7\npython  2.7.17-2\npython3 3.8.2-3\npython3.7       3.7.7-1+b1\n$ lsb_release -dr\nDescription:    Debian GNU\/Linux bullseye\/sid\nRelease:        unstable\n$ uname -m\nx86_64<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"listingblock shell\">\n<div class=\"title\">Ubuntu 20.04 LTS amd64<\/div>\n<div class=\"content\">\n<pre class=\"highlight\"><code>$ dpkg-query -W python python3 python3.7\npython  2.7.17-1\npython3 3.8.2-0ubuntu2\npython3.7\n$ lsb_release -dr\nDescription:    Ubuntu 20.04.1 LTS\nRelease:        20.04\n$ uname -m\nx86_64<\/code><\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u4f7f\u3046Python\u30a2\u30d7\u30ea\u306fPython3\u304c\u591a\u304f\u306a\u3063\u3066\u3044\u307e\u3059\uff0ePython2\u306eEoL\u304c\u8feb\u3063\u3066\u3044\u308b\u306e\u3067\u6b63\u3057\u3044\u306e\u3067\u3059\u304c\uff0c\u624b\u5143\u306e\u74b0\u5883\u3067\u306f python \u30b3\u30de\u30f3\u30c9\u306f python2 \u306b\u5411\u3044\u3066\u3044\u307e\u3059\uff0epython3 \u30b3\u30de\u30f3\u30c9\u3092\u53e9\u3051 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[547,7,517,6,546,199,63],"tags":[64,557],"class_list":["post-2843","post","type-post","status-publish","format-standard","hentry","category-buster-raspberry-pi-os","category-debian-linux","category-focal-fossa20-04","category-linux","category-raspberry-pi-os","category-sid","category-ubuntu","tag-python","tag-update-alternatives"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/2843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=2843"}],"version-history":[{"count":0,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/2843\/revisions"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=2843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=2843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=2843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}