【python3】仮想環境を使え。という話とvenvの使い方。
わたしへ。
「venv 使い方」「venv 作り方」「venv アクティベート」で何回検索するのですか。
わたしより。
結論
venvを使うぞ。インストールはpython3系入っていれば不要。
python2系を使いたい時は調べてくれ。
新しい環境を作る
そのプログラムに関するファイルをまとめておくフォルダ(=プロジェクトフォルダ)直下で、
$ python -m venv .venv
「.venv」は環境名なので任意だけど統一しとくといいよ。あとが楽だよ。
アクティベート
.venvフォルダがある階層で(Windows)
$ .venv\Scripts\activate
Windows以外なら
$ .venv/bin/activate
仮想環境とは
プログラムごとに使いたいモジュール違うじゃん。
ローカルでごにょごにょしてるだけならまあ最悪モジュールだらけになってても良いけど、サーバーに乗っけるぞ~とかになると途端に「で、このプログラムにはどのモジュールが絡んでんの?」って話になるじゃん。
「わっかんなーい★」って訳には行かないじゃん。
そんなとき、「このプログラムにはこのモジュール使ってるよ!」っていうのをフォルダにまとめといて、そのプログラム動かすときはそのフォルダの中身だけ使う!って決めてあれば楽だなーって思うじゃん。
それが仮想環境です。やったね便利だ。
アクティベートとは
「ヘイpython! 今からこのフォルダの中身のモジュールだけ使うからな!」
仮想環境にパッケージをインストールするには
仮想環境をアクティベートした状態でpip install
今この仮想環境に何がインストールされてんの?
アクティベートして
$ pip freeze
追記:requirements.txtでモジュールを一括インストール
参考→ Python, pipでrequirements.txtを使ってパッケージ一括インストール | note.nkmk.me
pip freeze して書きだしたモジュール一覧をテキストファイルに貼り付けて、requirements.txtと言う名前で保存しておく。
そして、
$ pip install -r requirements.txt
すると、必要なモジュールが一気にインストールされる。
複数人で開発する時などはこれを作って置けば、一々「あーあのモジュールも要るのかー」「あーまたモジュール足んねぇ~!」みたいなことする必要が無くなる。
一人開発のときも、.venvの中身をgitで管理してたら大変な容量になっちまうので、.venvフォルダの中身は管理から外すのがデフォだけど、requirementsだけ作って置けばどのモジュールいつ足したかの管理が出来るので、やっぱり作って置くとよき。
あと、GCPに上げる時などは、サービスに寄ってはrequirements.txtと言う名前で用意しておけば自動的にモジュールインストールしてくれたりするので、やっぱり作って置くと便利。
この記事が気に入ったらサポートをしてみませんか?