はじめに
こんにちは、koki1992です。今回はPython3の実行環境を、完全に初期化済みのMac上に構築します。
たまにですが、OSのバージョンによって若干インストール手順が違ったり、画面がちょっと違ったりといったりということで、初心者の方々は戸惑うことがあると思います。
一応現時点での最新のOS上に環境を構築したので、特に今年パソコンを買ってもらい、プログラミングにチャレンジしようとしている新入生とかは、この記事を読みながら、戸惑わずに環境構築にチャレンジできると思います。
実行環境
OS:Mojave 10.14.6
PC:MacBookAir 11-inch Early 2015
以下の操作は、インターネットのつながった状態で行ってください。よろしくおねがいします。
手順の概要
以下の順番で作業を行います。
- ターミナルを起動させる
- Homebrewをインストールする
- Homebrewを使ってPython3をインストールする
- Python3の仮想環境を構築する
1.ターミナルを起動させる。
まずはターミナルを起動させてみましょう。
アプリケーションや、ファイルを探すときに「Spotlight検索」を利用するととても便利です。
ショートカットキーを使ってみます。
今手元のコマンドキーとスペースキーを同時に押してください。
当方のPCはUSキーボードなので配列が若干違いますが、写真を用意しました。
そうすると、以下のような画面が出てくるので、ここに「ターミナル」と打ち込み、ターミナルを選びます。
初期設定によって変わりますが、背景が黒か白のターミナル画面が表示されると思います。
2.Homebrewをインストールする
Homebrewは、macOS用のパッケージ管理システムです。これを入れておくと、ソフトウェアのインストールやパッケージのインストールを楽に行うことができます。
早速やってみましょう。
まずはSafariをクリックして、「brew」と検索します。
すると、一番上にHomebrewのサイトが表示されると思います。これをクリックしましょう。
サイトを表示できたら、次にページ中央部にある「インストール」と書かれている部分の下に存在するスクリプトをコピーしましょう。
これをターミナルに貼り付けます。そして、「エンターキー」を押してみます。
うまくいった方の画面では、ターミナル上を文字が走り始めたと思います。
プログラム始めた頃は、この画面を見るだけでワクワクしていたものです(笑)
途中でパスワードの入力を求められたり、エンターキー(RETURNキー)を押すことを求められたりします。ターミナルの文字に従いましょう。
インストールにはしばらく時間がかかります。
。。。さて、終わったでしょうか?
3.Homebrewを使ってPython3をインストールする
Pythonには2系と3系が存在します。
3のほうが新しいのですが、Macにもともと入っているPythonは2系です。
そこで3系をインストールしていきたいと思います。
ここでさっそくHomebrewが仕事をしてくれます。
Homebrewを起動させるためには、「brew ほにゃらら」と入力します。
今回の場合、先程のターミナルの画面から
brew install python3
と入力しましょう。
するとさっきと同様にターミナル上を文字が走り始めます。さっきと同様、時折ターミナルに表示される要求(エンターキー押せとかパスワード入力しろとか)には素直に従いつつ、完全にインストールされるのを待ちます。
。。。終わったでしょうか?
ちゃんとインストールされているかを確かめる。
ターミナル画面に
python
とだけ入力してみます。
するとpythonが起動されるのですが、ちょっとおかしなことに気がつくと思います。
こんな画面になっていませんか?
Python 2.7.16 (default, Nov 9 2019, 05:55:08)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
何故かPythonが2.7.16となっています。
これは、MacにもともとインストールされているPythonが起動されたことを意味しています。
これでは困るので、3系のPythonを起動させてみましょう。
と入っても、まずはこの変な画面(インタラクティブモードって言います)から脱出する必要があります。
落ち着いて、「exit()」と入力します。
Python 2.7.16 (default, Nov 9 2019, 05:55:08)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
エンターキーを押すと、もとの画面に戻ってくることとができます。
次に同じ画面に
python3
と入力しましょう。
僕の画面だとこのようになりました。
Python 3.7.7 (default, Mar 10 2020, 15:43:03)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
今度はちゃんと3.7.7というバージョンのPythonが起動できたと思います。
4.Python3の仮想環境を構築する
さっきの画面で再び「exit()」と押してもとに戻ってきてください。
ここまででも良いのですが、せっかくなのでPython3の仮想環境を構築してみましょう。
【Question】わざわざ仮想環境を構築する意味はあるの?
「仮想環境を作るなんてめんどくさい」と思った方もいるかもしれませんが、仮想環境構築には様々なメリットがあります。
まず、開発の際のパッケージやモジュールのバージョンを、仮想環境ごとに切り替えられることです。
これからプログラミングを楽しんでいく過程で、githubなどで、いろいろなコードを読み、試しに自分のPC上で動かしてみる、ということがあるかもしれません。
しかし、プログラムによって、推奨されているパッケージやモジュールのバージョンが違うことがあります。
古いバージョンのパッケージやモジュールじゃないと動かない、とか、新しいバージョンのパッケージやモジュールが必要だ、とか。
1つの環境下で同一の名前のパッケージやモジュールは1つしか存在できないわけで、バージョンの違うパッケージやモジュールも共存することはできません。(さっきのPythonも、pythonの3系を呼び出すときにpython3と入力していましたが、これも同系統の問題と言えるでしょう)。
同一環境で、違うバージョンのパッケージやモジュールを使ったプログラムを動かすためには、その都度、そのプログラムにあったバージョンのパッケージやモジュールをインストールし直すことが必要になる場合があり、これは非常に面倒かつ無駄の多い作業です。
動かしたいプログラム毎に仮想環境を作ってしまえば、その仮想環境にインストールされたパッケージやモジュールが使われるので、動かしたいプログラム毎に仮想環境を切り替えれば、上述のような面倒な作業から開放されるでしょう。
また、仮想環境で仮に致命的な失敗をしても、その仮想環境自体を廃棄し、別の新しい仮想環境を作り直せばよいだけなので、この点においても理にかなっています。
もとの環境に直接環境を構築してしまうと、こうはうまくいかない可能性があります。
僕も最初、通常環境にpython3の環境を構築していたのですが、かなーり苦戦しました。
おとなしく仮想環境を構築することを推奨します!
すみません、ちょっと脱線しました(;´∀`)
仮想環境構築再開
それでは環境を構築していきましょう。といっても、あまり難しいコマンドを打つ必要はありません。
今回はホームディレクトリ(この言葉の意味は解説しないので、わからなったら検索してください)に戻ります。
おそらく、みなさんホームディレクトリにいると思うのですが、一応ターミナル上で、
cd
とだけ入力し、エンターキーを押してください。
cdは、change directoryの略です。
これで確実にホームディレクトリに戻ってこれたと思うので、次にここに仮想環境を構築していきたいと思います。
今回はpy3venvという名前で仮想環境を作っていきます。もし気に入らなければ別の名前にしていただいても構いません。
以下のように入力し、エンターキーを押しましょう。
python3 -m venv py3venv
数秒〜十数秒で、環境構築が終了します。
ここから仮想環境を起動させていきます。以下のように入力します。ポイントは文頭にピリオドを打つことと、その間に半角スペースを挟むことです。
koki1992noMacBook-Air:~ koki1992$ . py3venv/bin/activate #ここポイント!
(py3venv) koki1992noMacBook-Air:~ koki1992$
すると、私の環境だと(py3venv)koki1992noMacBook-Air:~ koki1992$ となりました。
さっきの環境だと、(py3venv)の部分がなかったですよね?このカッコの部分が確認できれば、仮想環境構築が成功したと言えるでしょう。おめでとうございます!
ためにし、ターミナルから
python
と入力します。「python3」ではありません。すると
(py3venv) koki1992noMacBook-Air:~ koki1992$ python
Python 3.7.7 (default, Mar 10 2020, 15:43:03)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
さっきは2系のPythonが起動されましたが、今度はちゃんと3系が起動されました。もとの環境では、pythonというと、2系と3系の2種類があり、苦肉の策で「python3」とバージョン名をくっつけることで棲み分けていました。仮想環境下ではそんなの必要ありません。仮想環境下では、「python」とはpythonの3系のことのみを指すからです。
例えば、ある学校に「田中太郎」と「田中次郎」がいるとします。全校集会で「田中」と呼べば2人呼びかけに反応してしまいます。そこで、その学校では全校集会において、「田中次郎」のことをわざわざ「田中次郎」と呼び、「田中太郎」はただの「田中」と呼ぶことにしました。例えるならこんな感じでしょうか。。。
最後に仮想環境を閉じてみましょう。
まずインタラクティブモードをexit()で閉じた後、以下のように入力します。
(py3venv) koki1992noMacBook-Air:~ koki1992$ deactivate
koki1992noMacBook-Air:~ koki1992$
先程の行頭の(py3venv)が消えて、仮想環境起動前の状態に戻りました。
お疲れさまでした。以上で、Python3実行環境の説明を終了します。
なにか間違い・アドバイス等あれば、コメントいただけると幸いです。
最後までご覧いただき誠にありがとうございました\(^o^)/