0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pyenvとvirtualenvのインストール方法と利用方法

Posted at

pyenvとvirtualenvのインストール方法と利用方法

pyenvとvirtualenvは開発でよく利用することになると思うので自分用の備忘録として
pyenvとvirtualenvをインストールする方法についてこの記事にまとめておきます。

pyenvとvirtualenvについて

pyenvとvirtualenvを使うことで、プロジェクトごとにバージョンを分けたり
同一バージョン内で異なる開発環境を用意することができるようになります。

イメージ図
Untitled Diagram.drawio.png

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 コマンドを実行してください。

参考文献

pyenv と pyenv-virtualenv をインストールする

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?