Pythonを仮想環境で動かしてみました!
これは、やってみないと分からないな。
Pythonを仮想環境で動かしてみました。
Python学習中で、いろいろと調べていると時折現れるワード「仮想環境」!
英語で書くと、「Virtual environment」
まず、なんかカッコいいですよね。
カッコいいかどうかはともかく、私のようにPython学習中でいろいろな事に手を出していると、たくさんのライブラリをインストールすると思います。
(例えば、Nanpy、Pandas、matplotlib、requests、beautifulsoup4などなど)
最初にインストールしていたPythonの環境に、たくさんのライブラリをいれていくと、重くなったり、エラーが出たりすることがあるようです。
そこで、使えるらしいのが、「仮想環境」!
私の場合は、Google Books APIをいろいろ試すにあたり、事前に仮想環境を構築しました。
別にAPIを使うのに、仮想環境が必要という事ではありませんが、環境を分けた方が良いかなと思ってやってみました。
「仮想環境を構築」と聞くと非常に高度なことをやるように聞こえますが、簡単ですし時間も大してかかりません。みんなで「仮想環境」で遊びましょう!
(2021年5月8日:学習開始78日目 PyQさんで勉強中!)
仮想環境と聞くと、映画「Matrix」を思い出します。
当時、誰もが度肝抜かれた映像の数々はいまでは当たり前(というには今でも通用するけど)になっていますが、映画の独自性やスタイリッシュさはいまでも色合せません。
2021年5月現在、「Matrix」「Matrixリローデッド」「Matrixレボリューションズ」の映画3作が公開されています。
全く予想だにしていませんでしたが、2022年に4作目が公開予定だそうです。
今の技術でどんな世界、どんな映像を見せてくれるのか?楽しみですね。
このMatrixを代表する曲といえば、Rage Against The Machineの「Wake Up」ですね。
映画1作目のエンディング曲であり、バンド名「Rage Against The Machine」、曲名「Wake Up」。
全てが映画にピッタリすぎますが、映画が1999年、曲のリリースが1992年と直接関係はないんですよね。映画同様、今でも、いや現代にこそ響き渡る名曲、名アルバムです。
(曲名から公式YouTubeに飛びます。)
では、作っていきましょう、私たちの「Matrix」を!
1.なぜPythonに仮想環境が必要か?
ここは、あくまでも私の私見です。
Pythonで仮想環境を設けた方が良い理由、それは大きく2つだと思います。
理由①:Pythonは出来ることが幅広い
理由②:Pythonのバージョンアップ
理由①:Pythonは出来ることが幅広い
Pythonを始めるときのうたい文句の一つに、「Pythonは出来ることが幅広い」というのがあります。
これは、まさにその通りです。
では、なぜ幅広いか?それはライブラリ(機能)が非常に充実しているからです。
標準のライブラリに加えて、インストールして使用できるライブラリがたくさんあります。
これは多大なメリットですが、ライブラリ間の相性が悪いものも出てきてしまうようです。
そこで、元のPythonと異なる仮想環境を作って、そこにライブラリをインストールすることで干渉を避けることが出来ます。
理由②:Pythonのバージョンアップ
Pythonで問題になることの一つに、「Python2とPython3問題」があります。
私は3しか触っていませんが、同じPythonでも2と3は大きく仕様が異なるようです。
3では通用するが2では通用しないコードの書き方があったり、対応していないライブラリがあったりで、別物のように捉えた方がよさそうです。
では、最新の3だけ使えば良いのでは?って思いますが、事はそう単純ではありません。
すでにPython2で構築されているプログラムもあるため、完全に無視も出来ません。
そこで、同じPC内でも、Python2環境とPython3環境を構築する必要がでてきます。
こういった場合にも「仮想環境」が役立つようです。
2.仮想環境ってどんな感じ?
簡単にいうと、
「元のPythonとは別のフォルダを作って、バージョン違いのPythonやライブラリを入れていく」
という事です。
イメージはこんな感じです。
イメージできますか?
私はこの説明の時点では、うっすらとしか分かりませんでした。
実際にやってみた方が早いです。
3.仮想環境をつくろう
さっそく作っていきましょう。
なお、私はPCはWindows10です。Macでは若干の違いがあると思います。
ここでは、「virtualenv」を使った仮想環境の構築を行います。
仮想環境の作り方はいくつかあるようですが、1本槍で行きます。
Python標準よりも簡便らしいので、これで行きます。
【注意】Anaconda環境では「conda」という仮想環境プログラムを使うようです。
手順は、
①:「virtualenv」のインストール
②:仮想環境の作成
③:仮想環境を使える状態にする
④:仮想環境の作成後にやった方が良いこと(pipのバージョンアップ)
です。
手順①:「virtualenv」のインストール
「virtualenv」のインストールしていきます
Windowsの「コマンドプロンプト」を開きます。Macではターミナルが相当するようです。
(分からない場合、Winマークの横の検索欄に「cmd」と入れると出てきます。)
コマンドプロンプトに、「pip install virtualenv」と入力、実行します。
他のライブラリをインストールする場合と同じですね。
例の前半部分はそれぞれのPC環境により異なりますので、XXXXXXにしています。
(この辺りが初心者には意外と分からないですよね?私も苦労しています。)
C:\Users\XXXXXXX> pip install virtualenv
いろいろと表示が出ますが、最後あたりに以下が表示されればOKです。
~~~~~~略~~~~~
Successfully installed ~~~~~~略~~~~~
インストールはこれで完了です。
手順②:仮想環境の作成
次に、「仮想環境」を作成していきます。
引き続き、コマンドプロンプトで作業をしていきます。
ちなみに、「Windows PowerShell」ではデフォルト設定ではうまくいきません。
設定を変えれば可能ですが、ここはコマンドプロンプトを使っておきましょう。
ここでは、「env_scraping」という環境を作っていきます。
名前は自由です。私の場合、スクレイピング用の環境という事で作っています。
では、コマンドプロンプトに「virtualenv (仮想環境名)」と入力、実行しましょう。
C:\Users\XXXXXXX> virtualenv env_scraping
~~~~~~略~~~~~
またいろいろと表示が出ると思います。
細かいところは環境によりことなるので気にしないで良いです。
created virtual environment CPython3.7.2.final.0-32 in 1056ms
~~~~~~略~~~~~
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
これで、仮想環境ができました。
では、確認してみましょう。
コマンドプロンプトで表示されているパスの位置、この場合「C→Users→XXXXXXX」にいま作成した「env_scraping」というフォルダが出来ているかと思います。
出来ていれば、OKです
手順③:仮想環境を使える状態にする
手順②で仮想環境ができましたが、現時点では元のPythonがそのまま有効な状態です。
この状態で、ライブラリをインストールすると、元のPythonにインストールされます。今までと同じです。
では、仮想環境を有効化していきましょう。
引き続き、作業は「コマンドプロンプト」でおこないます。
まず、仮想環境のフォルダに移動します。
「cd (仮想環境フォルダ)」と入力して実行します。
C:\Users\XXXXXXX> cd env_scraping
そうすると、以下のようになり、フォルダに移動できます。
C:\Users\XXXXXXX\env_scraping>
続いて有効化です。
ここに、「scripts\activate」と入力、実行します。
注意点:「scripts」と「activate」の間は「バックスペース」です。
注意点:「script」ではなく、「scripts」です。
バックスペースと\は表示がブレるので初心者泣かせですよね。
C:\Users\XXXXXXX\env_scraping>scripts\activate
すると、このような表示になると思います。
(env_scraping) C:\Users\XXXXXXX\env_scraping>
頭の部分が変わっている点に注意してください。
このようになっていれば、有効化OKです。
この状態で「pip freeze」と入力して実行してみてください。
このコマンドは、インストールされているライブラリを確認できるコマンドです。
(env_scraping) C:\Users\XXXXXXX\env_scraping>pip freeze
かなり少ないと思います。
いままで、元のPythonに入れたライブラリも見当たらないはずです。
これで有効化完了です。
次に進んでOKですが、仮想環境からの抜け方も記載しておきます。
「scripts\deactivate」で元に戻ります。
(env_scraping) C:\Users\XXXXXXX\env_scraping>scripts\deactivate
うまく出来ていると、頭の部分が元の表示に戻ると思います。
C:\Users\XXXXXXX\env_scraping>
この状態だと、フォルダの位置は「env_scraping」ですが、元のPythonが有効です。
試しに「pip freeze」をやってみると、今まで導入したライブラリが表示されると思います。
ちなみに、ここで「cd ..」と入力すると、フォルダも元に戻れます。
手順④:仮想環境の作成後にやった方が良いこと(pipのupdate)
実質③で終了しています。
ここでは、初回使用時にやっておいた方が良いこととして、「pipのバージョンアップ」を行います。
これは、仮想環境を作ったときに、ライブラリをインストールする際のpipも古いバージョンのものを引っ張てきており、最新版ではないためです。
2回目以降は不要です。
バージョンによって異なるようですが、
「pip install –upgrade pip」または
「python -m pip install –upgrade pip」
でpipのバージョンアップが出来ます。私の場合、下の方がうまく行きました。
(Macはまた違うという話もあるようです。)
(env_scraping) C:\Users\XXXXXXX\env_scraping>pip install –upgrade pip
(env_scraping) C:\Users\XXXXXXX\env_scraping>python -m pip install --upgrade pip
どちらかを実行してうまくいけば、このような感じの表示がされると思います。
~~~~~~略~~~~~
Successfully installed pip ~~~~~
こうなれば成功です。
ここまでくればやることはないです。
説明を聞くよりも、実際にやってみた方が早いし、理解も深まると思います。
仮想環境に好きなライブラリを入れて、「仮想環境で遊べ!」
(ちなみに、不要な仮想環境はフォルダ毎削除すれば良いようです。)
FIN
PyQさんで勉強中!
コメント