本サイトにはプロモーションが含まれています

実務に生かすPythonサンプル

【2020年版】Pythonインストール・Mac編【長く安全に使える環境構築】

こんにちは。投資エンジニアの三年坊主(@SannenBouzu)です。

今回は、Pythonを使ったデータ分析や機械学習を手元のMacで試してみたい人の、このような疑問に答えます。

オンラインでの使い方は分かってきたので、Pythonを手元のMacにインストールする方法を知りたい。できれば、気軽にアップデートやアンインストールができて、Pythonを長く安全に使える方法だとありがたい。

私は、大学の研究と自分の趣味で、合わせて5年以上Pythonを使ってきました。

その間にMacの買い替えもあったり、一からPythonのインストールをし直すハメになったことも何度かあります。

この記事では、そのような経験を生かして、PythonをMacにインストールして長く安全に使える方法を紹介します。

この記事はこんな方におすすめ!

  • 手元のMacでPythonを使いはじめたい方
  • インストールしてから時間が経っても、変なエラーに悩まされず気軽にアップデートやアンインストールをしたい方

MacでPythonを使うなら、当然ですが自分のMac環境が必要ですよね。

Pythonを快適に使えるMac環境をこちらの記事で説明していますので、まだMacを持っていない方や、新しいMacで心機一転Pythonをはじめたい方はあわせてご覧ください。

Pythonを快適に使いこなすMac環境【現役エンジニアおすすめはPro 13インチ】MacでPythonプログラミングをしたい人向けに、現役エンジニアおすすめMac環境を紹介します。2011年からMacBook Proを使い続け、Mac買い替えやPythonインストールを経験している私が実体験に基づいて説明します。ぜひご覧ください。...

Pythonインストール・Mac編【基礎知識】

実は、Macには、AppleがデフォルトでPythonをインストールしています。

ですが、MacでPythonを長く安全に使いたいなら、このデフォルトPythonをそのまま使い続けない方がいいです。

デフォルトでPythonがインストールされてるなら、それを使えば楽じゃない?

確かに最初は楽ですけど、あとあといろいろと面倒なんです・・・。

その理由は大きく3つあります。

古い

デフォルトのPythonは最新でないことが多いです。

常に最新のものを使う必要はないですが、あまりに古いものをそのまま使い続けると、セキュリティ面で問題が起こる場合があります。

パーミッションの問題

ライブラリを追加でインストールしたい時に、パーミッションの問題が起こりやすいです。

問題をむりやり解決しようとすると、Macで正常に動いている他のシステムを壊してしまう可能性があります。

ライブラリが消える可能性

OSメジャーアップグレードのたびに、これまでインストールしたライブラリが消えてしまうことがあります。

 

パーミッション

一言でいうと、誰がどのファイル・ディレクトリを「読み込み」「書き込み」「実行」できるか、管理する仕組みです。システムの大切なファイルを間違えて消したりできないようにするなど、とても大切な役割を果たしています。

詳しくは【一通り理解】Linuxパーミッションの基本とその設定方法などを参考にしてください。

ライブラリ

「他のプログラムから利用される前提で作られたプログラム」のことです。データ分析や機械学習をするには、このようなプログラムを追加でインストールする必要があります。

 

具体的に「デフォルトのPython」を確認してみましょう。

/Applicationsの中にある「ターミナル.app」(Terminal.app)を起動して

以下のコマンドを実行します。

 

この記事で使う表記法

  • コメント
  • ターミナル上で実行するコマンド($マークは入力不要)
  • py3envという名前の仮想環境を有効化した状態で実行するコマンド(”(py3env) $” は入力不要)
  • Pythonを起動した状態で実行するコマンド

 

実行結果はこんな感じになります。

 

  • (古い)2.7.10がデフォルトですが2.7.13が最新です。さらに言えばPythonにはバージョン2系と3系がありますが、いまからPythonを使いはじめるなら迷わず3系を使うべきです。
  • (パーミッション)デフォルトのPythonでライブラリが追加される”/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7″は、所有者がroot(管理者)になっています。

手元のMacでPythonを動かす方法はいくつかありますが、あとあとトラブルの原因になるので、すぐに使えるデフォルトのPythonを本格的に使わない方がいいです。

 

Pythonインストール・Mac編【バージョン切り替え・アンインストールしやすい環境構築】

デフォルトのPythonを使い続けない方がいいと分かったところで、この項目では、おすすめのインストール方法を紹介します。

Homebrew -> pyenv -> Python 3.6.x -> venv

「仮想環境」を作って、その中でPythonの実行やライブラリの追加をする方法です。

この方法をおすすめするのは、「仮想環境」を作って「その中でなら何をしても大丈夫!」な状態を最初に作っておけば、Mac本体に悪影響を与えずに、何度でも失敗できるからです。

それでは、手順を具体的に見ていきましょう。※手元にある環境(OS X Yosemite 10.10.5)で確認しています

 

Xcode(準備)

Xcodeは、Appleが提供しているソフトウェア開発ツールです。App Storeからインストールしておきましょう。

以降の手順を進めるために必要になるので、XCodeのCommand Line Toolsをインストールします。

 

Homebrew(準備)

Homebrewは、「Apple が用意していないあなたの必要なものをインストール」するためのツールです。

今回は、あとで説明するpyenvをインストールするために使います。

Homebrewのホームページにアクセスして、指示に従ってHomebrewをインストールします。

 

pyenv(バージョン切り替え)

pyenvは、Pythonのバージョンを簡単に切り替えるためのツールです。

あとで「Pythonのバージョン2系が必要になった」としても、このツールを使って簡単にインストールできます。

Homebrewを使ってインストールしていきます。

 

cat << ‘EOS’ >> ~/.bash_profile … EOS

下で出てくるこのコマンドは、このまとまりで1つのコマンドとして、いっぺんに実行します。

「2つのコメントと2つのコマンドを、~/.bash_profileに追記する」という意味になっています。

 

 

このような実行結果になれば大丈夫です。

 

Python 3.6.6(本体)

pyenvを使って、Pythonをインストールします。今回はPython 3.6.6をインストールすることにします。

 

このような実行結果になれば大丈夫です。

 

venv(仮想環境の作成)

venvは、Python標準の仮想環境ツールです。

インターネットで調べると他にもいろいろな仮想環境ツールが出てきますが、Python3.5以降ではvenvを使いましょう。

 

バージョン 3.6 で非推奨: Python 3.3 と 3.4 では、仮想環境の作成に推奨していたツールは pyvenv でしたが、Python 3.6では非推奨です。

バージョン 3.5 で変更: 仮想環境の作成には、 venv の使用をお勧めします。

28.3. venv — 仮想環境の作成 — Python 3.6.6 ドキュメント

 

 

作成した仮想環境の有効化・無効化

ここまでで、Pythonを使いはじめる準備が整いました。

これからPythonを使うときは、必ず仮想環境py3envを有効化してから使うことにします。

といっても、コマンド一つでできるので簡単です。

 

少し長くなってしまいましたが、このように「仮想環境」を作って、その中でPythonの実行やライブラリの追加をするのがおすすめの方法です。

 

Pythonを長く安全に使える方法・Mac編【実践知識】

ここまで準備をしておくと、Pythonを長く安全に使える仕組みができあがっています。

「その中でなら何をしても大丈夫!」な「仮想環境」ができているので、あとは細かいことを気にせず、気軽にアップデートやアンインストールして動作環境を整えられるからです。

実際にPythonを使いながら、気になるであろう疑問点をまとめます。実践寄りの知識として、必要に応じて参考にしてください。

実際に使ってみないと気づかない問題点とか疑問とかあるよね・・・

そうですね。自分自身も時々壁にぶつかるので、その経験も踏まえてまとめておきました。半年もすれば忘れてしまう内容も多いと思うので、必要な時に見返してもらえるとうれしいです。

FAQ: どのPythonを使っているか忘れた

“which python”で確認します。

 

FAQ: 仮想環境の中にライブラリをインストールしたい

ライブラリをインストールする必要があるときには、”pip install”で一つずつインストールしていきます。

 

FAQ: 何のライブラリを入れたか忘れた

今インストールしているライブラリを”pip freeze -l”で確認できます。

この結果をrequirements.txtという名前のテキストファイルで保存しておくと、Pythonをアップデートしたり、環境を作り直したいと思った時に便利です。

※requirements.txtの使い方は、この後の項目で説明します。

 

FAQ: インストールしたライブラリをアップデートしたい

 

FAQ: Pythonをアップデートしたい

例えば、Pythonのバージョンを3.6.6から3.7.yに上げたいときの手順を紹介します。

いままでの仮想環境py3envはそのまま残して、新しい仮想環境py37envでPython3.7.yを使えるようになります。

 

FAQ: 失敗したのでアンインストールして最初からやり直したい

仮想環境は、そのディレクトリを消すだけでOKです。venvを使って新しく仮想環境を作り直せます。

pyenvでインストールしたPythonをアンインストールするには、以下のようなコマンドを使います。

 

以上、FAQの形で実践知識をいくつか紹介しました。

このように、気軽にアップデートやアンインストールして動作環境を整えられるので、長く安全に使える仕組みになっています。

MacにPythonをインストールして、楽しいPythonライフを送りましょう!

 

関連記事:こちらも読まれています

Pythonを快適に使いこなすMac環境【現役エンジニアおすすめはPro 13インチ】

【保存版】Pythonのdatetimeで日付/時間を操作【実務での使用例とハマりどころも解説】

 

より本格的にPythonを学ぶなら

より本格的にPythonを学びたい場合には、プログラミングスクールを活用するのがオススメです。

プログラミングスクールって、「プログラミングって何?」みたいな超初心者だけのものと思っていませんか?

最近では、経験者向けにも、レベルや希望に合わせた様々なコースが展開されています。

オススメなのが、Aidemyです。

特徴は、人工知能特化型のプログラミング学習サービスということ。

Pythonを学べるコース

  • AIアプリ開発コース(画像認識)
  • データ分析コース(数値予測)
  • 自然言語処理コース
  • E資格対策コース
  • クラウドAI開発コース
  • 実戦データサイエンスコース

Aidemyの教材は「理論よりもまずは実践」をうたっていて、他社と比較すると、かなり本格的に、現場でも実際に使われるスキルを身につけられます。

そして、どのコースも同じ料金で受け放題

余裕があれば、AIアプリ開発コースの内容と、クラウドAI開発コースの内容を組み合わせて学習することもできてしまいます。

無料のカウンセリングで、不明点や学習したい内容をまずは相談してみましょう。

» Aidemyの無料カウンセリングはこちら

 

もう一つオススメなのが、TechAcademyです。

オンラインプログラミングスクール受講者数No.1の実績に加えて、受講生限定の転職サポートもあり、TechAcademyで学んだスキルを生かせる職場への転職も可能です。

「セット割」を活用すると、Pythonを使った人工知能・データ分析のスキルを過不足なく身につけられます。

1週間の無料体験があるので、システムの使い心地やサポート体制をのぞいてみるのがいいかなと思います。

» TechAcademyの無料体験はこちら

 

どちらのスクールも質問サポートが充実していて、早ければその場で、遅くとも次の日には疑問が解消するので、

「独学でプログラミングを勉強してきたけど、行き詰まるたびに時間が奪われるし、周りに気軽に聞ける人もいない」

みたいな無駄な一日を過ごすことがなくなります。

 

以上、Pythonを本格的に学べるプログラミングスクールを2校紹介しました。どちらも最初に20〜30万円くらいの投資が必要ですが、実際にスキルを身につけてしまえば、あとで簡単に回収できるはずです。例えば、

  • Pythonエンジニアに転職して年収を上げる:50万円
  • 副業で業務委託:20万円(時給5,000円で週10時間、1か月)
  • クラウドソーシングの単発案件:5〜10万円

このように、プログラミングスクールにお金を払ってもすぐに回収できることが分かると思います。

実際に、Pythonを使う業務委託で時給5,000円というのは普通にあるので、スキルをつけたら「週末にちょっと作業」を1〜2か月続けるだけですよね。

Google検索で問題解決するのもいいですが、「毎回ちょっと場当たり的に対応していて苦しいな・・・」と感じているあなたは、一度腰を据えてPythonを本格的に学ぶことを選択肢に入れてみてはいかがでしょうか。

記事で紹介したプログラミングスクールの一覧

  • Aidemy→人工知能特化、無料カウンセリングあり
  • TechAcademy→受講者数No.1、1週間の無料体験あり

RELATED POST

POSTED COMMENT

  1. にゃい より:

    ありがとう!

  2. […] nMacでは元からpythonが入っているけど、【2018年版】Pythonインストール・Mac編【長く安全に使える方法】によれば、”(バージョンアップ時などの)パーミッションの問題”, “ライブラリが消えることがある”といった問題があるらしいそれはあかんやん! […]

  3. […] 【2019年版】Pythonインストール・Mac編【長く安全に使える方法】|投資エン… […]

  4. むー より:

    「仮想環境」で開発したほうが良い理由はなんとなくわかるのですが、ファイルの入出力をしたい場合、「どこに」読むファイルを置くのか、書き出すのかをどう考えればよいでのしょうか?「仮想環境」の具体的なイメージが掴めなくて、よく理解できずにいます。
    やりたいことはWordファイルなどの読み書きです。
    ここに書いてよいのかわからなかったのですが…よろしくお願いします。

    それと、Xcodeは何のためにインストールするのでしょうか?

    • 三年坊主 より:

      むー 様
      コメントありがとうございます。ご不明点を共有していただいて助かります。
      「仮想環境」といっても、VirtualBoxなど仮想化ソフトのように「OSレベルの仮想環境」ではなく「用途に応じた専用のPython実行環境」を作っているだけですので、ファイルの読み書きについて、ファイルを置く場所は通常どおり作業ディレクトリ(やその他お好みの場所)で問題ありません。


      (py3env) $ cat /Users/XXXXXX/sandbox/test.txt
      こんにちは。投資エンジニアの三年坊主(@SannenBouzu)です。
      (py3env) $

      記事中で説明しなかったVirtualenvに関するリンクではありますが、「仮想環境」の説明として参考にご覧ください。
      https://www.python.jp/install/windows/virtualenv.html

      Xcodeは、MacでHomebrewを使う前提条件として必要なので、下記リンク(と注意書き3)を参考に、App StoreからのXCodeとコマンドラインツールの両方をインストールしています。
      https://docs.brew.sh/Installation#macos-requirements

  5. しょしんしゃ より:

    Tkinterが利用できません。。。どのようにすれば良いでしょうか

    • 三年坊主 より:

      コメントありがとうございます。
      申し訳ありませんがTkinterは経験がほとんどなく、お力になれそうにありません。

  6. kurimaron より:

    なぜ、PYENV_ROOTのパスを下記のとおりに変更したのでしょうか?
    ~/.pyenvだと、問題がありますか?

    ># pyenvさんに~/.pyenvではなく、/usr/loca/var/pyenvを使うようにお願いする
    export PYENV_ROOT=/usr/local/var/pyenv

    • 三年坊主 より:

      特に問題があったというよりは、検証当時、インストール中に表示された注意(Caveats)、また引用元(https://qiita.com/crankcube/items/15f06b32ec56736fc43a)の当時の記載に従ったものと思われます。
      GitHub(https://github.com/pyenv/pyenv)等を見る限りでは、~/.pyenv ($HOME/.pyenv) がデフォルトのようですね。

      ちなみに、以下のような理由でPYENV_ROOTを変更している事例を見つけたので、共有します。
      http://bcl.sci.yamaguchi-u.ac.jp/~jun/notebook/python/install-pyenv/

      例えば,自分のホームがNFSサーバ上にあり,/usr/local/はローカルディスク上ならば,/usr/localにインストールするほうが,コマンドの呼び出しのオーバヘッドが短くなる。

にゃい へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください