見出し画像

後悔しない、はじめてのPython環境(1)

本記事では、pythonとは、何ができるか、のような説明ではなく、
いざ、pythonを使って、コードを書いてみよう!というときにきっと役に立つ環境の構築についてまとめてみました。
後悔しないような賢い環境構築を目指していきましょう。

環境はWindowsを想定しています。

後悔しない、とは

まずは、この記事の目指すところを示します。

はじめて、コーディングをしようとすると、右も左もわからない中、とりあえずインストールしてみよう、と訳も分からずいろいろなものをインストールして、メモリーを無駄に消費してしまったり、のちのちどこに何があるのかわからなくなったり、依存関係に悩まされてしまったりといった影響が出てしまいます。これをここでは、後悔、と言っています。

あのとき、適当にインストールしなければよかった、こうしていればいろいろと精査することなくインストールしたものを楽に管理できたのに…、こういった後悔をしないよう、賢く、環境を構築していきましょう。

また、ところどころで解説のような場面が出てきますが、あくまでも事実よりも理解のしやすさを優先した、自論となっていますのでご注意ください。

コーディング環境

エディタの選び方

まず、pythonを始めるときに、pythonをインストールしたくなるのですが、一度、テキストエディタについて考えてみましょう。
テキストエディタとは、身近なところでいうと、windowsの標準機能のメモ帳だったり、macだとテキストエディットみたいなものです。

要は、どんな環境でコーディングしますか?ということです。

例えば、コーディングを始めると様々な壁にぶつかると思います。
① 実行しようとするとエラーが出てしまう
② 文字やグラフを出力させたつもりだけど、どこに出てる?
③ ファイルどこにやったけ…
④ ほかの言語もやってみたいな
⑤ いくつかのコードを並べながら書きたい
などなど…

そんな問題を解決すべく、様々な組織が機能整備をしたテキストエディタをリリースしています。

windowsの標準機能のメモ帳でも書くことはできますが、自分お気に入りのテキストエディタを探してみましょう。

とはいっても、いきなりどれがいいと判断することは難しいです。

個人的に、初めて、におすすめな無料かつ機能性抜群のテキストエディタ、Visual Studio codeを用いて環境構築を進めてみましょう。

おそらくこのまま落ち着くと思いますが、ほかのエディタが気になれば、適宜変えてみてください。そして教えてほしいですっ。

Visual Studio Codeの人気

visual studio codeは、microsoftが提供しているソースコードエディタになります。拡張機能が充実していて、先に挙げた壁をおよそすべて解決する機能を持っています。
おそらく、日本でも、世界でも一番人気のソースコードエディタではないでしょうか。
試しに、google trendsを使って、有名どころのソースコードエディタを調べてみます。
google trendsは、googleでの検索数を比較できるもので、検索されているから人気、とは一概に言えないのですが、関心を持たれている、という見方や、使い方を調べていると考えると、参考にはなるかなと思っています。

結果を下の図に表していますが、Visual Studio Code が一番の検索数になっています。続いてはAtomになっています。ほかにも気になるものがあれば、一度検索されてみるといいかもしれません。

出典:GoogleTrends
(https://trends.google.co.jp/trends/explore/TIMESERIES/1701685800?hl=ja&tz=-540&hl=ja&q=%2Fm%2F0134xwrk,Atom,Emacs,Vim,%2Fm%2F0b6h18n&sni=3)


少し話がそれたので戻ってきましょう。
2023年現在、最も人気そうだということで、安心して、Visual Studio Codeの準備をしていきましょう。

Visual Studio Codeをインストール

まずは、このページからVisual Studio Codeのセットアップファイルをダウンロードしてみましょう。

Visual Studio Code - Code Editing. Redefined

インストールの詳しい手順については、たくさんの人が書かれているので、そちらを見ていただければと思います。
ご参考までに、公式のインストール手順を引用しておきます。
Windows での Visual Studio Code の実行

Pythonの準備

さて、ようやくpythonの準備です。

Pythonのインストール

まずは、pythonの公式ページから、ソースをダウンロードしましょう。
バージョンはこだわりがなければ、まずは最新版でよいと思います。
のちのち、使いたいライブラリがこのバージョン出ないと、などの制約条件が出てくる可能性もありますが、その時にまた別バージョンのpythonを追加ダウンロードすることで、ダウングレードすることもできます。
※ライブラリについては後程ご説明します。

Download Python | Python.org

venvによる仮想環境の構築

見出しで、怖がらせてしまったかもしれません。
怖がらずに、先に進んでもらえればと思います。
pythonを使っていくと、必ず、様々なライブラリと呼ばれるものをインストールすることになります。

ライブラリとは、有名なものだとnumpyやpandasなどを指します。
簡単に言うと、他の人が書いてくれた関数です。
pythonをはじめにインストールした状態だと、まだできることは限られています。
他の人が書いてくれたライブラリを使用することで、無限の可能性を持つのです。

ただ、このライブラリの管理は楽ではありません。
たくさんのライブラリをインストールしていくと、書いたコードが本当に必要なライブラリが分からなくなったり、ライブラリのバージョンが変わったとたん、これまでできていた処理ができなくなったりといったことがあります。
他のデバイスでも書いたコードを実行したいとなると、こういった問題はより顕著にあらわれます。

そこで、仮想環境の登場です。

簡単なイメージ図を書いてみます。

メモリのイメージ図

これはメモリのイメージです。
まず一番外側にデバイス全体のメモリがあります。
その中にpythonの統合開発環境がインストールされます。この中、この下の階層にいるとpythonで書いたコードを実行することができます。

この中にさらにマトリョシカのようにもう一つ部屋を作るのが仮想環境です。この仮想環境ひとつ一つが独立していて、それぞれ、pythonの大きな開発環境の中には含まれているのでpythonを実行することができます。

ならば、なぜ部屋を区切る必要があるのかというと、ライブラリの影響範囲を限定するためです。

pythonのライブラリをこの部屋の中だけにインストールします。
そうすることで、この部屋を消せば、他の部屋に影響することなくメモリを削減できます。この部屋を丸々コピーすれば、別のデバイスのpythonに移してもすぐに動かすことができます。

いいこと尽くしです。

これを実現するのはとても簡単です。

この仮想環境を作るためのpythonのライブラリ、venvはすでに、pythonをインストールした時点でインストールされています。標準装備です。

まず、好きな階層に、フォルダを作りましょう。
例えば、デスクトップにcodingというフォルダを作り、これをひとつの部屋にしてみます。

コマンドプロンプトでcodingフォルダの階層に移動します。
階層に来たら、[favorite name]に好きな名前を入れて下のコマンドを実行してみましょう。

python -m venv [favorite name]

dirを実行をすると、[favorite name]のフォルダができているはずです。
これで準備が整いました。部屋を作ることに成功したのです。
しかし部屋に入るには、これだけではだめです。部屋をアクティブ化する必要があります。

今度は、下のコマンドを実行してみましょう。

.\[favorite name]\Scripts\activate

すると、

([favorite name]) C:.......\coding>

となっているはずです。こうなれば、部屋に入れた証です。
独立した、pythonの開発環境が立ち上がっている状態です。

この中でいくらpythonのライブラリインストールコマンド、pip install をしてももう怖くはありません。
消したくなれば、この部屋ごと、つまりフォルダを消してしまえば、すべてマルっと安全に消すことができます。とても簡単です。

ちなみに、この部屋から出るには、

.\[favorite name]\Scripts\deactivate

を実行します。直観的です。

いきなり、仮想環境といわれるとわからない、後回しで、となってしまうのではないでしょうか。
私自身、初めから仮想環境を使えていれば、そもそも仮想環境が何か、わかっていれば、と後悔をしています。

venvからpythonを始めてみてほしいです。

今度は、Visual Studio Codeではどうやって使うの?という疑問が出てくるかもしれません。

また続きを書こうと思います。

誰かの役に立ちますように。


この記事が気に入ったらサポートをしてみませんか?