【初心者向け】Pythonのインストールから環境構築までをわかりやすく解説!

昨今機械学習がとりざたされ、pythonの注目度が結構上がっています。
しかしながら、pythonを学ぶといっても、インストールやら環境構築やら色々なことをしなければならず、
そのためにどれを選べばいいか、どれが汎用的か、そもそも何をすればよいのかがなかなか決めづらいとものです。
なので、本記事では、インストール方法から環境構築そしてそれらに便利なツールをなどを解説していきます。



pythonとは

まず、最初にpythonのことについて大まかに解説していきます。
一言でいうとコードを書きやすく、読みやすくするために独自の機能を取り入れたプログラミング言語です。
代表的な構文として、インデント構文といってインデント幅で式の関係を記述することで、
カッコを書くことなくコードがかけて読みやすいコードがかけたりします。

ただ、その関係か書き方にちょっと癖があり、他の言語にあるような三項演算子などがなく、独特な書き方をするなどの特徴もあったりします。

ちなみに三項演算子を例にすると、

pythonの書き方

(trueの時の値) if (条件) else (false時の値)

大体の言語の書き方

(条件) ? (trueのときの値) : (falseのときの値)

三項演算子のこの書き方はpythonのみで普通ではこのような式を見ることは少ないので、
初めは面くらいました。

pythonのインストール

さて、実際にpythonのインストールを見ていきましょう。

普通であればpython単体をインストールして、パッケージ管理、環境管理など別個にインストールして・・・となるのですが、
今回はすでに組み上がったものを使ってインストールする方法を解説します。
これを使うと自分で小難しいパッケージ管理などをする手間が省け、
pythonのバージョンごとに環境を作ったり消したり、カスタマイズしたりできるようになります。

ただ、一度は1からインストールする方法を経験しておいた方が良いでしょう。
というのも、これから紹介する方法も、使い方は全然違いますが、やっていることはすべて同じです。
なので、もし開発中や環境構築で問題が起こった際には内部の構造や、名前などを知っていれば、解決するための情報を検索するときなどに役に立ちます。

pythonで開発するために

まず、pythonを使って開発するためにいくつか必要な機能を解説していきましょう。
結論から言うと以下の機能が必要です。

  • python本体
  • パッケージ管理ツール
  • 開発環境ツール

python本体

単純にpythonのコードを実行するために必要なものです。
これがなければ、コードが書けてもただのテキストなので本当にこれがないとどうにもなんないです。

パッケージ管理ツール

文字通りパッケージを管理するもので、パッケージのインストール、
削除、バージョンアップ、情報閲覧など様々なことを一手に担ってくれます。

開発環境ツール

python本体のバージョンを管理するものです。pythonはバージョンによって文法に違いあり、
特に 2系と3系は互換性がありません。なので、例えば、python3.7のバージョンでpython2.2のコードを実行しようとしても、文法がそもそも違う箇所はエラーで止まってしまいます。
なので、pythonの本体のバージョンも管理する必要があるのです。

anaconda

それでは、ツールを開発していきましょう。

https://www.anaconda.com/download/

anaconda先程の3つの要素(python本体、パッケージ管理、開発環境管理)の要素をすべて内包しています。
なので、これの使い方を覚えれば簡単にpythonを使える環境を創ることができます。

install

anacondaのインストール方法は公式のホームページからデータを落として実行してくるだけで、
インストール方法もそちらに記載されているので、自身のパソコンのbit数などを確認して
落としてくるファイルを確認しましょう。

  • windows
    • https://www.anaconda.com/download/#windows
    • 上記のリンクから落としてきたデータをダブルクリックして実行
  • Mac
    • https://www.anaconda.com/download/#macos
    • 上記のリンクからデータを落としてきた後は bash で実行する。
  • linux
    • https://www.anaconda.com/download/#linux
    • 上記のリンクからデータを落としてきた後は bash で実行する。

各環境でインストールができたら、 ターミナルまたはコマンドプロンプトからconda listと実行してみましょう。

これで、以下のようになれば成功です

#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0  
alabaster                 0.7.11                   py37_0  
anaconda-client           1.7.2                    py37_0  
/** 略 **/

package

anacondaのインストールが完了できた時点で、すでにパッケージをインストール機能があります。

  • conda install <package name>

パッケージのインストール

これでインストールすることができます。
例えば、numpy という行列計算や表を加工するパッケージを入れてみましょう、

conda install numpy

仮想環境

pythonのバージョンごとに環境を作って切り替える場合はこちらを使用します。

conda create -n <仮想環境名> python= <pythonバージョン名> anaconda

という書式で行います。

なので、今回はmainという環境でpython3.6の環境を創る場合は

conda create -n main python=3.6 anaconda

まず、ちゃんと作られているかどうかを確認するため、

conda info -e

とコマンドを打ってください。もし正常にできていれば、このように、

conda info -e
# conda environments:
#
base                  *  /home/<user-name>/anaconda3
main                     /home/<user-name>/anaconda3/envs/main

上のように、環境の一覧がみられるので、作成したものがあるかを確認して下さい。
* があるものは現在使用しているものです。
では環境を使用してみましょう

source activate main

と打ちましょう。これで pythonのバージョンを確認して、バージョンがちゃんと切り替わっていれば成功です。
今回だと3.6*となっていれば成功です。

 python -V

で確認してみてください。

無効化する場合は

source deactivate

を使いましょう

pipenv

さて、anacondaでも十分開発できますが、もうちょっと便利なるツールを解説します。
それがpipenvで、パッケージ管理ツール + 環境管理ツールになります。これの便利なところはひとえにプロジェクトごとに手軽にパッケージを管理、共有できることにあり、結果として、複数人での開発が劇的に楽になります。

例えば、ウェブサービスのプロジェクトがある、AI勉強の勉強用のプロジェクトがあるといったとき、毎回環境を分けてパッケージの情報を分割しておこないといけませんが、これが結構面倒なのです。その上で、例えば、そのプロジェクトを他人に渡すとき、パッケージ情報がないので、いちいち解析しながらrequiment.txtを書く羽目になります。

この部分をカバーしてくれるのがpipenvです。pipenvを通じて、パッケージがインストールされた際に自動的に、pythonのバージョンとパッケージと開発の情報を含んだPipfileというファイルを作成します。
これをそのまま渡せば簡単に同じ環境を構築できるので非常に楽ちんです。

そのほかに、パッケージの依存関係やバージョンなどの保持するPipfile.lockというファイルも生成されますが、これはPipfileから生成されるので、最低限Pipfileさえあれば環境の構築は十分に行なえます。

https://pypi.org/project/pipenv/

install

さてインストールですが、一つ問題があります。 anacondaのconda insatllではインストールできません。
なので、別のパッケージマネージャーで入手します。それがpythonの歴史あるパッケージマネージャーである pipです。anacondaを入れた時点で同時にインストールされているので、
以下のコマンドを打ってください。

pip insatll pipenv

初期化

pipenv --python <version>

これを行うとPipfileというのができます。
ためしに、

pipenv --python 3.7

と打ってください。
そうすると、 Pipfileというファイルが生成されます。

このファイルはパッケージなどを入れていくと、これの中にどんどんと情報が蓄積されていきます。そして
新しい場所で開発環境や実行環境を整える場合はコマンド一発で構築することができます。

package

さて、パッケージをインストールする方法です。

pipenv install <package name>

その他に、すでにPipfileがある場合は

pipenv install

コマンドをすることで、環境を構築できます。

実行

pipenvのファイルの実行方法はちょっと特殊で例えば main.py
というファイルがあれば、

pipenv run python main.py

と実行してください。こうすることで、Pipfileにあるパッケージの情報を参照して実行します。

まちっても python main.pyとしないでください。この場合は、そもそも参照するパッケージの場所が違うので、必要なパッケージが存在しなくてエラーになる場合があります。

書籍

オライリーから出ているpython3の本です。内容が包括的で実践や応用で使える部分までよく網羅されています。

機械学習の簡単な概念やそれらの解き方をpythonのライブラリを用いて解説していきます。
結構骨がおれますが、実際の概要をつかむには良いと思います。

webアプリケーションフレームワークである Djangoの解説本です。pythonでアプリを作ってみたいなどはこちらを使用しましょう。フレームワークの概念や実装の仕方などがしっかりと書かれているため、これをある程度よめば、一つのアプリが作れるようになります。

まとめ

今回は、簡単にpythonの環境を構築するツールや方法を解説しました。
ただし、今回は解説したものは最低の機能のみ扱っているので、更に興味がある人は公式ドキュメントや
他の方の使用例を確認しましょう。









この記事をかいた人

assa

京都でエンジニアをやっています。assaまたはえつーと覚えてください。 本業はwebで趣味でいろいろいじっています。よしなに