【機械学習初学者向け】pythonの仮想環境の構築方法を徹底図解

こんにちは。ノムオです!

今回の記事では下記のような悩みを解決していきます。

・仮想環境って何?
・condaコマンドを活用した仮想環境の作り方がわからない

今回はデータサイエンスを実施するための「pythonの仮想環境の構築方法」を徹底図解していきます。

特にAnacondaを活用している場合を想定して解説していきます。

Anacondaのインストール方法は下記記事で図解していますので、インストールがまだの人はこちらから。

【機械学習初学者向け図解】pythonの環境構築(Anacondaのインストール方法)について解説
お疲れ様です。ノムオです! 今回の記事では下記のような悩みを解決していきます。 ・機械学習を実行するための『pythonの環境構築の方法』がわからない ・『Anaconda』を活用するメリット、インストール方法がよくわからない 今回はデータ...

私も機械学習の初学者時代、実際に、「え?仮想環境って何??」ってなりましたし、正直最初はよくわからなかったです。

そこで今回の記事では、下記の点について解説していきます。

・仮想環境とは?
・なぜ仮想環境が必要なのか?
・どうやって仮想環境を構築するのか?

まずはそもそも「仮想環境とは何?」というところから。
 

仮想環境とは?

 
仮想環境とは、『Pythonやライブラリをプロジェクトごとに分離して管理する開発環境』のこと。

すべてのプロジェクトを同じ環境で管理すると、ライブラリのバージョンが競合してエラーが発生する可能性があるので、仮想環境を構築して分離して管理するのが一般的。
 

なぜ仮想環境が必要なのか?

 

・パッケージごとに対応するpythonのバージョンが異なる
・ライブラリ同士の依存関係がある

→1つの環境で全部を管理しようとすると、互換性の問題が生じる。

そのため、プロジェクトごとに環境を変える(仮想環境)を構築する必要がある。

例えば下記のような感じ。
仮想環境1はrdkitを活用して化学構造を取り扱える環境、仮想環境2はTensorFlowを用いてディープラーニングをする環境みたいな感じ。

仮想環境1
Python 3.9 , RDKit・・・
仮想環境2
Python 3.11 , TensorFlow・・・

 

condaを使うメリット

 
condaを活用すれば事前にパッケージ間の依存関係を検証してくれたり、pythonのバージョンを仮想環境ごとに管理できます。

pipを使うと、ライブラリを事前のチェックなしにインストールするため、後から互換性の問題でエラーが発生することがあります。。

そのため、condaを活用する方が仮想環境の管理が簡単。
困ったらcondaを使ってみてください!
 
仮想環境について何となく分かったと思うで、ここからは、condaコマンドを使って仮想環境を作る方法を解説していきます!

実際に、新たな仮想環境として、rdkitを使える仮想環境を「chem」という名前で構築し、rdkitなど必要なパッケージをインストールしていきます!
 

仮想環境の作り方

 
ここからは、具体的に仮想環境の作り方を解説していきます。
私のPCはmacなので「ターミナル」を使って仮想環境を作っていきます。
(windowsだとコマンドプロンプトなどを使います)

ターミナルを開くと、下記画面が出てくると思います。
(base)は、Anacondaのデフォルトの仮想環境で、condaコマンドを使うときは、通常このbase環境からスタートするため、ターミナルを開くと(base)と表示されます。

ターミナルと開くと、基本的には「(base)ユーザー名@ホスト名~ % 」と表示されます。今回の画面では、余計な情報を取り除くため、(base)とだけ表示するよう設定しています。(この設定がとにかく大変だったことは内緒笑)

まずは現在ある仮想環境の一覧を確認をしてみます。下記コマンドで確認できます。
base環境のみ存在していることが確認できます。(青枠部分)

conda env list

現在の仮想環境を確認できたので、早速、仮想環境を構築していきます。
 

仮想環境の構築

 
仮想環境の構築は「conda create -n 環境名」で構築できます。
赤枠のコマンドを入力すると、Proceed([y]/n)?と表示されるのでy(yes)と入力。

「conda create -n chem python=3.9」のようにpythonのバージョンを指定して環境を先に構築することのほうが一般的ですが、今回はわかりやすさ優先のため、pythonのバージョンを指定せずに仮想環境を構築しています。

conda create -n chem

少し時間が経って、終了後の画面はこんな感じ。

chem環境が構築できたか、「conda env list」で確認してみます。
baseの下にchemの環境があり、仮想環境が構築できていることが確認できます。


 

仮想環境の切り替え

 
構築した仮想環境を使用したい場合は、「conda activate 環境名」で仮想環境の切り替えができます。
今回は「conda activate chem」と入力することで切り替えができます。
下図で、「(base)→ (chem)」となっており、chem環境に切り替わったことが確認できます。

conda activate chem

chem環境に切り替えできたので、ここからはrdkitをインストールしていきます!
 

必要なパッケージのインストール

 
chem環境、すなわち(chem)となっていることを確認してからインストールする。
(base)のままでインストールすると、base環境にインストールされてしまうことに注意が必要。

conda install -c conda-forge rdkit

情報を確認して問題なければy(yes)を入力。
パッケージのインストールが始まり・・・終了するとこんな感じ。

chem環境にrdkitがインストールされているか確認してみます。
「conda list」と入力するとchem環境にインストールされているパッケージがアルファベット順で表示されます。
rdkitは2枚目の画像に表示されていることから無事インストールされていることが確認できます。

conda list

最後にchem環境にはjupyter notebookなどを入っていないため、下記のように必要なパッケージを都度インストールすればOK。

インストール後は例えばchem環境をactivateした状態でjupyter notebookとコマンド入力すれば、chem環境でjupyter notebookを活用して機械学習を実行できますので是非自分なりの仮想環境を構築して機械学習を始めてみてください!

今回の記事は以上です。

是非、Anacondaを活用してデータサイエンス(機械学習)の独学を始めて欲しいです。

また一方で、初学者は中々、機械学習イメージが掴めないのも事実だと思っています。
私もホント苦労しました。

そこで、仕事で4年・1人で機械学習を活用した経験(失敗談も含む)や独学方法等、機械学習の『全体像』を書きましたので、イメージが湧かない人は是非読んでみて欲しいです。
半年かけて1冊の本としてまとめきり、言語化しきりました(普段の発信も踏まえると1年以上かかったと思います)。

教養として知っておきたい機械学習|ノムオ
初めまして。ノムオです😎 今回のnoteでは、機械学習を「教養」として知っておきたい人に向けて書いています。 具体的には下記のようなことを知りたい読者に向けて記事を書いています。 ・機械学習って「どんなことをしているのか」知りたい ・機械学習に興味があり、「全体像」を知りたい ・「ビジネスで機械学習を活用するとはどうい...

また、私自身も機械学習を頑張りたい人と繋がりたいと思い、コミュニティを新設しました!
こんな人にオススメしたい。

・一人で機械学習を勉強していて、挫折しそうな人
・実務で機械学習を活用したいが、どう進めるか悩んでいる人
・RDKit やデータ解析を仕事で使いたい人

メンバー限定の記事やQ&Aが読めますので是非!他の学習者と情報交換ができますので良ければどうぞ!

ノムオの森|ノムオ
このコミュニティでは、Xでは言えない話やXでのツイートの深掘りをしたいと思ってます。 データサイエンス(機械学習)を教養レベルで知りたい人、1人で独学してる・しようとしてる人、また仕事で活用してる人に向けて発信していきます! 他にも、独学や自己啓発、仕事、趣味の話など『夜のおつまみ程度に楽しめる発信』をします。 何かに...

皆さんの機械学習の独学が進むことを心より願っています。

タイトルとURLをコピーしました