見出し画像

Python_pyenvとvenvでWSL2に仮想環境を構築する #301日目

Djangoでの本番リリースを色々練習してみようと思い、その前準備として、仮想環境をさくっと構築する手順をまとめておきたいと思います。色んなチュートリアルをやると、それぞれで必要なライブラリが異なるためです。

手段としてはpipenvを使う方法もあるみたいですが、pipenvが素直に対応できないケースもあるみたいで、WSL2では簡単には動きませんでした。

pyenvとvenvの組み合わせであれば、WSL2の環境においても手軽に仮想環境を構築できます。


環境

WSL2 (Ubuntu 22.04 LTS)
Python 3.9.0


事前準備

WSL2とpyenvが使えるようになっていればOKです。それぞれの設定は色んな記事があるので見てみてください。

pyenvについては僕もまとめたことがあります。


プロジェクトフォルダのPythonバージョンを指定する

仮想環境を構築したいプロジェクトのフォルダに移動し、pyenvでPythonのバージョンを指定しておきます。

指定するバージョンがインストールされていなければ、まず以下のコマンドでインストールします。ここでは3.9.0を指定します。

pyenv install 3.9.0

インストールできたら、以下のコマンドでプロジェクトファイルのPythonバージョンを設定します。

pyenv local 3.9.0

Pythonのバージョンが設定通りになっているか確認しておきます。

$ python -V
Python 3.9.0


仮想環境を構築して入る

すごく簡単です。
以下のコマンドで仮想環境を構築できます。

$ python -m venv .venv

構築出来たら以下のコマンドで仮想環境に入れます。

$ source .venv/bin/activate
(.venv) $ 

中に入ってPythonバージョンを確認してみます。ここはpyenvで指定したバージョンになってるはずです。

(.venv) $ python --version
Python 3.9.0


必要なライブラリをインストールする

pipインストールが必要なライブラリを「requirment.txt」に記載すれば一括でインストールできます。

(.venv) $ touch requirement.txt

例えば以下のように記載します。

[requirement.txt]

django
Pillow
django-storages
boto3

インストールする前にpipリストがどうなっているか見ておきます。

(.venv) $ pip list
Package    Version
---------- -------
pip        22.3
setuptools 49.2.1

ではrequirements.txtの内容をインストールしてみます。以下のコマンドです。

(.venv) $ pip install -r requirements.txt

完了したらpipリストを再度確認します。ちゃんとインストールされてますね。

(.venv) $ pip list
Package         Version
--------------- -------
asgiref         3.5.2
boto3           1.26.3
botocore        1.29.3
Django          4.1.3
django-storages 1.13.1
jmespath        1.0.1
Pillow          9.3.0
pip             22.3
python-dateutil 2.8.2
s3transfer      0.6.0
setuptools      49.2.1
six             1.16.0
sqlparse        0.4.3
urllib3         1.26.12

仮想環境から出る時は以下のコマンドです。

(.venv) $ deactivate
$ 


ここまでお読みいただきありがとうございました!


参考

https://sig9.org/archives/2467


この記事が気に入ったらサポートをしてみませんか?