あまやどり開発雑記

システムエンジニア裏薄荷が”あまやどり”という夢をつづったブログです。

MENU

※新米ママとして育児系のブログ 裏薄荷の初ママ日記も運営しております。

Pythonの仮想環境Pipenvで生成されるフォルダやファイルとは?

表計算ソフトが表示されているパソコンの写真です。

 

こんにちは。初めましての人もそうでない人も、裏薄荷(うらはっか)です。

 

※以下、BloggerにUpしていた記事を移行した内容になります。 

 

今日は仮想環境のPipenvで生成されるフォルダやファイルについて説明したいと思います。

Pipenv環境って具体的にどんな感じなの?というのを掴んでいただくことが目的です。

 

もし、"そもそも仮想環境ってなぁに?"という方がいらしたら、先に下記の記事をお読みください。

 

tnim-amayadori.hatenablog.com

 

説明の前に断り書きですが、以下でPyCharmの画面を用いて説明を行います。

あくまでPipenv環境のイメージを掴んでいただくことが目的なので、PyCharm環境でのPipenvの設定方法については今回触れません。

もしPyCharm環境でのPipenv設定方法を知りたい場合は、以下の記事をご参照ください。

tnim-amayadori.hatenablog.com

 

さて本題です。


Pipenvで仮想環境を作成すると、プロジェクト直下に以下のような「Pipfile」が生成されます。

"Trial"というプロジェクトフォルダ直下に"Pipfile"と"Pipfile.lock"というファイルが置かれている。

 

これはインストールしたライブラリを管理するためのファイルです。
具体的な例を見ていきましょう。

 

pythonでコーディングをする際、import文を書くことがよくあると思います。
しかしただ記載するだけでは、コンパイルエラーとなります。


PyCharmだと以下のように赤い波線でエラー表示されていますね。

"import pandas"と記載されているが、"pandas"の部分に赤い波線が引かれている。

 

これは必要なライブラリがインストールされていないからです。
では、ライブラリ"pandas"をpipenvコマンドでインストールしてみましょう。

 

PyCharm下部

コマンドの実行結果として、緑色の文字で"Success!"と表示されます。

 

インストールが完了すると、コンパイルエラーが解消されます。

先ほどの"import pandas"の文字列から赤い波線が消えています。

 

 

さてここで、PipFileの中身を見てみましょうか。
下記の画面の左側がインストール前、右側がインストール後のPipFileです。
緑色の背景色になっている箇所が、変更箇所です。

[packages]と書かれた欄が左側は空欄、右側では"pandas = '*' "と追記されている。

 

インストールを行った"pandas"が追加されているのがわかりますね。

 

このようにPipFileにはユーザーがコマンド実行でインストールしたライブラリが記録されます。

 

今回は特にバージョン指定せずインストールしたので"*"となっていますが、バージョン指定すると"*"の代わりに指定したバージョン番号が記録されます。

 

他の変更ない箇所は、Pythonのバージョンなど、全体的な環境の情報になります。

 

 


さてもう一つのファイル、PipFile.lockを見てみましょう。

差分としてpandasの他、numpyなどのpackageが追加されています。

 

はい、見てわかる通り、インストール実行した"pandas"以外にも、"numpy"や"pytz"など、特に自分ではインストール実行していないライブラリが記載されています。

 

これらは"pandas"に必要な依存ライブラリです。

 

我々ユーザーとしては特に意識していませんが、Pipenvで"pandas"に必要なものを判断して、勝手に入れてくれたものですね。

 

さらに各ライブラリの情報を見ると、バージョンとhashについて必ず記載があります。
これらは、仮想環境内に入れたライブラリを厳密に管理するための情報です。

 

例えば他の人にソースを共有した際、Pipenvはこれらの情報を元に仮想環境を構築します。


ところで仮想環境とは、インストールしたライブラリを入れている箱のようなものだと以前ご説明いたしました。
(参照:【連載】Pythonのライブラリや仮想環境ってなぁに? 第3回 仮想環境ってなぁに? - あまやどり開発雑記)

 

ではその箱の中身を実際に見てみましょう。

 

PyCharmですと、設定画面から仮想環境のパスを以下のように設定画面から確認できます。

PyCharmのFileボタンをクリック後に表示されるSettingsボタンをクリックしてください。

 

以下の画面上部「Python Interpreter」の欄を見ていただくと、「.virtualenvs\Trial-rKEqFeaL」というフォルダがパスに記載されているのがわかりますね。

PyCharmのSettingsウィンドウ内にあるPython Interpreterの設定画面が開かれています。

 

実際にこのフォルダをエクスプローラーで見てみましょう。
こんな感じです。

 

.virtualenvsフォルダ内Trial-rKEqFeaLというフォルダの中身として、Libフォルダなどが表示されている。

 

色々とフォルダがありますが、中でもLib配下を見てみましょう。
こんな感じで、ライブラリ毎のフォルダが生成されています。

先ほどのLibフォルダ内のsite-packagesというフォルダ内に、インストールされたpandasなどのライブラリが入っている。

 

これらのフォルダの中身をさらに見ると、ソースコードが入っています。
(コンパイル済のソースのみで読めない状態で入ってるものもあります)

 

これが、Pipenvにおける仮想環境の実体というわけです。

 

似たようなフォルダはpipでもAnacondaでも生成されているはずです。

 

ちなみに、これらの仮想環境に入っているソースは、PyCharm上からでも見ることができます。

PyCahrmのProjectWindowからExternalLibrariesの中身としてpandasが表示されている。

 

PyCharmですと、例えばプログラム実行時にライブラリ側の処理でエラーが起きてTraceBackが出力された場合など、簡単にライブラリの中身のソースを参照することができます。


以上で仮想環境Pipenvを利用した場合のファイルやフォルダについての説明終わります。

なんとなくイメージは掴めたでしょうか?

 

次回は、Gitの基本的な構成やコマンドのイメージについてと、PyCharmでのGitHubの環境構築手順についての記事を更新していこうと考えています。

 

引き続きお読みいただければ幸いです。

 

-----------------------------------

素材取得元