pyenvとvirtualenvのインストール方法と利用方法
pyenvとvirtualenvは開発でよく利用することになると思うので自分用の備忘録として
pyenvとvirtualenvをインストールする方法についてこの記事にまとめておきます。
pyenvとvirtualenvについて
pyenvとvirtualenvを使うことで、プロジェクトごとにバージョンを分けたり
同一バージョン内で異なる開発環境を用意することができるようになります。
pyenveの役割
プロジェクトAでは最新バージョンを使って開発するけどプロジェクトBでは少し古いバージョンを使う必要があるといった状況を想像してください。
こういった状況でプロジェクトごとに開発環境を分けたい場合に、同じ端末で簡単にバージョンを切り替えながら同時に開発を進めていくことができたら便利ですよね。
pyenvではこのディレクトリ配下ではpython version 3.10を使う、あのディレクトリ配下ではpython version 3.6を使うというような感じで同じ環境の中で異なるバージョンのPythonを用意することが可能です。
virtualenvの役割
また、同じpythonバージョンでも利用するライブラリが異なる状況で作業したい場合に利用します。
virtualenvがあることでディレクトリを分けるだけでライブラリを別々に管理することが可能です。
インストール pyenvとvirtualenvの利用準備
pyenvとvirtualenvのファイル配置
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugin/pyenv-virtualenv
cd ~/.pyenv/plugin/pyenv-virtualenv
./install.sh
Ubuntuにインストールすることを想定してコマンドや手順を記載していきます。
git clone コマンドでgitからpyenvとvirtualenvをホームディレクトリ配下にクローンします。
なお、pyenv virtualenvはgitからクローンしただけではインストールされないので、クローンしてきたフォルダ内の innstall.sh を実行してインストールする必要があります。
ファイルパスを通す
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.profile
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.profile
source ~/.profile
ファイルを配置した後は.profileにクローンしてきたファイルのパスを追記する必要があります
今回は.profileに、ファイルパスを通すためのコマンドを追記する形で対応します。
.profileはLinuxにログインしたとき読み込まれる設定ファイルの一つです。
ここではechoコマンドでパスを追記する方法を記載しました。
echoの出力先を.profileにして、.profileに追加したいパスの情報を追記していきます。
なお、viで.profileをそのまま編集しても同じです。
.profileの編集が完了した後、最後 source ~/.profile コマンドで.profileを読み込み設定を適用します。
source ~/.profile実行後エラーがなければpyenvとvirtualenvのインストールは完了です。
pyenvで利用するpythonのインストール準備
apt update
apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxmlsec1-dev libffi-dev liblzma-dev
次はpyenvで使うpythonのインストールです。
まずは、pythonのインストールに必要なツールをインストールします。
pyenvで利用するpythonのインストール
pyenv install --list
pyenv install <version>
pyenvで利用するpythonは pyenv install コマンドでインストールします。
versionは実際にあるバージョンを指定してください。
必要に応じて pyenv install --list でインストール可能なバージョンの一覧を確認してください。
インストール確認
pyenv versions
現在の環境にインストールされているpythonバージョンの一覧を確認するには以下のコマンドを実行します。
pyenv install コマンドでインストールしたバージョンが表示されれば成功です。
実用 仮想環境の構築
pyenvを使ってバージョンを管理する方法
pyenv local <version>
適当なディレクトリに移動してディレクトリ内で pyenv local コマンドを実行します
このコマンドによりディレクトリ配下は指定したバージョンのPython環境になります
Virtualenvを使って開発環境を作る
pyenv virtualenv <version> <env_name> #virtualenvを作る
mkdir <dir_name> #virtualenvを適用するディレクトリの作成
cd <dir_name> #作成したディレクトリに移動する
pyenv local <env_name> #ディレクトリにvirtualenvを適用する
同一のバージョン内でPython環境を分けたい場合に使用します。
ちなみにパスの通り方は次のようになっています。
pythonと入力しても、python3と入力しても
シンボリックリンクにより/home/xxx が参照されるようになる
作成した環境を削除する
pyenv uninstall <env_name>
作成した環境を削除するには pyenv uninstall コマンドを実行してください。
