Pythonによる仮想環境の構築方法(Mac編)





Python学習をしていくにつれて教材や学習サイトの始めに、「仮想環境を構築しましょう。〜」と書かれていませんか?

 

「早くコードが書きたいのに、、何やねん!」と思われる方もいらっしゃるかと思います。

→筆者もプログラミング学習当時思いました(笑)

 

最初の段階ではそこまで気にする必要はないかもしれませんが、Pythonにてサービスの開発やライブラリ、パッケージのインストールを繰り返していく内に仮想環境を構築しておかないと面倒な事になってしまいます。

 

今回の記事では何故、仮想環境の構築が必要なのかや実際にPythonでの仮想環境を構築手順をご紹介していきます。

 

※PCはMacを使用しているため、Windowsとコマンドの書き方や操作方法が異なるので、予めご了承ください。

 

汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料と

コーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。

初心者・入門者でも30日間で学習できるおすすめPython学習方法

 

おすすめのPython学習サービスをまとめてみました。挫折することなく一直線にエンジニアを短期集中で目指している人はこちらから確認してください。 

【おすすめ】Python学習サイトPyQが初心者に選ばれる理由

プログラミングを学ぶ上で作りたいものがない人へ提案させてください

 

仮想環境とは

そもそも仮想環境とは何なのか解説していきます。

 

一言で言えば、仮想環境とは自分が操作するコンピュータの中に実体の無いコンピュータを設置する事です。

 

これでは難しいと思いますので、具体例をあげますね。

 

僕たちは数年前までは金銭のやり取りは1円玉や100円玉、1000円札など金属や紙で作られた実際に手で触れるもので行なってきました。

 

しかし近年では、BitcoinやSuicaなどの電子マネーなどインターネット上、電子データとして取引がされていますが、これは実体が無いものです。

 

実際に手には触れることはできないものの、しっかりと通貨として価値が付いています。

 

このように仮想環境も実際のコンピュータとは別に仮想的なコンピュータを内部にて設置することが可能です。

 

仮想環境のメリット

仮想環境がどういった意味なのか、ザックリと分かっていただけたでしょうか?

 

プログラミング初心者の方は仮想環境の意味が分かっても「メリットなくね?」と思われるかと思いますので、

 

ここでは仮想環境を構築するメリットが何故あるのか説明していきます。

 

仮想環境を構築するメリットは以下になります。

 

学習コストの削減

作成したいアプリ、サービスが自分のPCでない環境じゃないと作れない場合、別のOSを買う必要があります。

 

しかし、仮想環境の構築する事によって様々なOSを一つのコンピュータで操作することができます。

 

例えば、自分のPCがMacでもWindowsを操作したり、Linuxも扱うことが可能です。

 

なので、無駄に環境に応じたPCを購入しなくて済み、学習の幅が広がります。

 

バージョンの混合を防げる

プログラミング初心者にはあまり当てはまらないかもしれませんが、学習していく中で自分のPCに様々なパッケージ、ライブラリをインストールしていきます。

 

その際にエラー文にて「バージョンが最新ではないので、アップグレードしてください」といった内容に直面したことがあるのではないでしょうか?

 

プログラミングでは一度インストールしたら、必ずアップグレードしたりして最新の状態に保っておく必要があります。

 

スマホでもソフトウェアをアップグレードをせず、古い状態にしておくと自分が遊びたいアプリなどのサービスを使えないことがあります。

 

PCでも同じ現象が起こるのですが、多くのライブラリをインストールした結果、エラー文にて指摘されたライブラリのアップグレードを行なっても別のライブラリのバージョンエラーが続いたりします。

 

このような要因は一つのPCに依存して複数インストールしてしまって起きる現象です。

 

しかし、この仮想環境を構築する事によってアプリ開発など目的に応じてライブラリをインストールする事でバージョンの衝突を避けることが可能です。

 

3. Pythonにおける仮想環境の構築方法

では、実際にPythonでの仮想環境の構築をしていきます。

 

Pythonでの仮想環境の構築方法をいくつかありますが、今回は初心者の方でも簡単にできる方法をご紹介していきます。

 

それはPythonに標準搭載されているvenvというプログラムを使って構築していきます。

 

フォルダ作成

まずは、ご自身のPCのお好きな場所にフォルダを作成してください。

 

Macの場合、Finderから作成もしくはターミナルにて作成します。

$ mkdir sample
$ cd sample

 

作成したフォルダに仮想環境を構築していきます。

 

仮想環境の作成

次に仮想環境を作成します。

 

下記のコマンドを入力してください。

$ python3 -m venv 環境名

 

お好きな環境名を入力してエラーなどが無ければ、仮想環境が作成完了です。

 

lsコマンドにてフォルダの確認を行うとターミナルに環境名が表示されたフォルダがされます。

 

仮想環境にアクセス

仮想環境の作成は完了しましたが、まだ仮想環境に入っていないので、現状は何も変わっていません。

 

なので、仮想環境に入るために次のコマンドを入力します。

$ source 環境名/bin/activate
(環境名)$

 

このコマンドを実行し、$の後ろに環境名が表示されれば仮想環境に入った証拠になります。

 

簡単にできましたよね!

 

仮想環境から抜ける

仮想環境の目的とは別にターミナルにて作業を行うには仮想環境から抜ける必要があります。

 

これを怠ると、意図しない場所にライブラリがインストールする恐れがあるので気をつけましょう。

 

仮想環境から抜けるには以下のコマンドを入力すると抜けることが可能です。

(環境名)$ deactivate
$

 

deactivateコマンドを入力すると、$後ろの環境名がなくなり、元に戻ります。

 

こちらのPythonの仮想環境の構築は手軽にできるのが特徴なので、少し面倒かもしれませんが不具合を避けるためにも是非行なってくださいね。

 

アプリを作ってみる

仮想環境の構築ができましたら、あとは無駄にエラーに困ることなくサービスの開発に専念することができます。

 

ここでは筆者がオススメするPythonを使ったサービス開発を行うことができる学習サイトを少しご紹介させていただきます。

 

DjangoBrothers

一つ目はDjangoBrothersです。

 

こちらはPythonが使われたWebフレームワークであるDjangoが学べるサイトになっております。

 

DjangoはPythonのFlaskやBottleなどWebフレームワークの中で一番使われており、インスタグラムやNASAでも商業的に採用されているので、実績も高く学習するにはもってこいです。

 

また、こちらの学習サイトではDjangoだけでなく今回の仮想環境の構築方法からPythonの基礎も解説されているので、復習にも利用することが可能です。

 

少し難しく感じるかと思いますが、Pythonを学んだからには是非取り組んでほしいWebフレームワークになりますので、チャレンジしてみてください。

 

Techpit

二つ目はTechpitになります。

 

こちらはプロダクトベースにてプログラミング学習を行うことができる学習サイトになっており、現役のエンジニアが教材を作成されているので、より実践的な学習を行うことができます。

 

プログラミング言語は限られますが、それでも十分な教材が提供されており、Pythonの教材はDjangoや機械学習など幅広く手掛けています。

 

こちらは教材によって仮想環境の構築方法が異なるので、少し不便に感じるかもしれませんが、今回の構築方法さえ分かっていればスムーズに学習を進めることができるでしょう。

 

まとめ

いかがでしたでしょうか?

 

今回は仮想環境のメリットから実際にPythonでの仮想環境の構築方法をお伝えしていきました。

 

本記事が読者の学習が捗るキッカケになれば、嬉しいです。

 

また、pythonにおいて3ヶ月で稼ぐための学習ロードマップをまとめた記事や初心者にオススメするアプリ開発の記事もございますので、そちらもご参照いただければと思います。

プログラミング学習の始め方〜3ヶ月で稼ぐには〜

2019.11.15

【Python】プログラミング学習にLINE Bot開発をおすすめする理由

2019.11.19

最後まで一読していただき、ありがとうございました!



ABOUTこの記事をかいた人

sugi

大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、現在フリーランス活動中。 2019年2月から起業する予定。 自社サービス及び製品を開発し、売り上げを立てている。