ビジネスパーソン・ガジェット置場 empty lot for business

営業や仕事、それに伴う生活を便利に楽にするツール、ガジェットを作ります。既にあるツールも自分用にカスタマイズ。

python: 仮想環境の準備

備忘録です。

今回の備忘録はpythonでの仮想環境の準備について

仮想環境が必要だなと思った理由

先日、Flaskでウェブサービスを作成し、herokuで公開てみたのですが、herokuで必要なrequirements.txtを作成する際にちょっと困りました。

pip3 freeze > requirements.txt

 

上記コードで自動でpipでインストールしたライブラリをrequirements.txtに入れてくれるのですが、仮想化していなかったのでPCにインストールしたライブラリが全部requirements.txtに入ってしまい、必要ないものも、これはいつインストールしたんだろうと、いものも全部ごちゃ混ぜになってしまい結果、選別で苦労しまいました。

 

仮想環境下で作成すれば、その仮想環境にインストールしたライブラリだけでrequirements.txtが作れるということで作業する時の仮想化は必要だなと強く感じました。

 

仮想環境の準備の仕方

1. 仮想環境の作成

$ python3 -m venv virt

.venvのところが名前です。好きな名前で

 

2. 仮想環境への切り替え

$ . virt/bin/activate

 

3. 仮想環境の開始

$ . virt/bin/activate

(virt)というのがコマンドプロンプトのところにつけばOK

 

4. 仮想環境の終了

$ deactivate

 

仮想環境下であればライブラリは0から始められるのでpipでFlaskをインストールした状態でpip freezeを実行すると下記のようなライブラリ一覧となります。

click==8.1.3
Flask==2.1.3
importlib-metadata==4.12.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.1
Werkzeug==2.2.1
zipp==3.8.1

 

フォルダ内構成は下記のような構成にします。

folda
 |_virt
 |_app.py