2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pyenv + venv を使ったpythonのバージョン管理【windows&ubuntu】

Last updated at Posted at 2022-08-13

概要

 python初心者がバージョン管理をする際に参考になればと思います.

---> pyenvについて

【実行環境】

① Windows10 & 11
② ubuntu 20.04 (& 18.04)

1. 実行環境

OS
Windows10 & 11

★環境構築手順★

 pyenv + venv により,pythonのバージョン管理を行っていく.

Step.1 scoopのインストール

 scoopをインストールする.以下のコマンドを管理者権限なしのPowerShellで実行する.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

irm get.scoop.sh | iex

Step.2 pyenvの設定

① まず,pyenvをインストールする.

scoop install pyenv 

② (option)インストール可能なバージョンを確認する.

pyenv install -l

③ 使用するバージョンをインストールする.(ここでは一例としてversion3.10.5をインストール.以下,同様.)

pyenv install 3.10.5

④ pyenvによってインストール済みのバージョンを表示する.

pyenv versions

【以下のように表示されればOK!】

3.10.5

⑤ 先ほどインストールしたバージョンをpyenvで有効化する.

pyenv global 3.10.5

pyenv rehash

⑥ pyenvで有効化されているか確認する.

python --version

Step.3 仮想環境を作成

① 仮想環境を作成したいディレクトリへ移動する.
(一例として,ユーザ直下のディレクトリを指定しています.)

cd C:\Users\[Username]

② 仮想環境を取りまとめるフォルダを作成し,仮想環境を構築する.
(一例として,フォルダ名は「python_version」,仮想環境名は「python_venv_3.10.5」としています.)

mkdir python_version

cd python_version

python -m venv python_venv_3.10.5

これで準備はおしまい!早速,pythonを使っていきましょう.

★実際に使用するとき★

 使用する前に毎回有効化する必要があります.まずは,コマンドを開いて,仮想環境の有効化を行ってください.

C:\Users\[Username]\python_version\python_venv_3.10.5\Scripts\activate.bat

【以下のように表示されればOK!】

(python_venv_3.10.5) C:\Users\[Username]>

※ 終了するときはコマンドを閉じてください.

 これでおしまいです!お疲れさまでした.

★バージョンを追加するとき★

① pyenvでインストールできるpythonのバージョンを確認する.

pyenv install -l 

② 使用するバージョンをインストールする.

pyenv install 「使用するバージョン」

③ 先ほどインストールしたバージョンをpyenvで有効化する.

pyenv global 「使用するバージョン」

pyenv rehash

⑤ 正常にバージョンが切り替わったかを確認する.

python --version

【以下のように表示されればOK!】

Python 「使用するバージョン」

⑤ 仮想環境の構築

cd \Users\[Username]\「仮想環境の構築フォルダ名」

python -m venv 「仮想環境名」

あとは使用する際にここと同様に行えばできます!
(以下のようなコマンドで仮想環境を有効化できます.)

C:\Users\[Username]\「仮想環境の構築フォルダ名」\「仮想環境名」\Scripts\activate.bat

2. 実行環境

OS
ubuntu20.04 (& 18.04)

※ pyenvのインストールはこちらの記事を引用しました.私が試したのは20.04ですが,18.04でも可能なようです.

★環境構築手順★

 pyenv + venv により,pythonのバージョン管理を行っていく.

※【重要】pyenvのインストールはこちらの記事を引用したため,詳しい内容を確認したい場合はこちらの記事をご覧ください.
===>こちら

Step.1 パッケージをアップデートする.

 パッケージをアップグレードして,再起動する.

sudo apt update

sudo apt upgrade

reboot

Step.2 pyenvの設定

① pyenvの実行に必要なパッケージをインストールして,再起動する.

sudo apt install \
  build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev curl llvm \
  libncursesw5-dev tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
  libopencv-dev git

reboot

② pyenvのパッケージをダウンロードする.(Gitに関する学習は「サル先生のGit入門~バージョン管理を使いこなそう~」がおすすめです.)

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

sudo apt install pyenv

reboot

③ pyenvのインストール
Ⅰ.【ログインシェルにbashを使用している場合】
~/.profileの更新

sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.profile


echo 'eval "$(pyenv init --path)"' >>~/.profile

~/.bashrcの更新

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source ~/.bashrc

Ⅱ.【ログインシェルにzshを使用した場合】
~/.zprofileの更新

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zprofile

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zprofile

echo 'eval "$(pyenv init --path)"' >> ~/.zprofile

~/.profileの更新

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile

echo 'eval "$(pyenv init --path)"' >> ~/.profile

~/.zshrcの更新

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

④ pyenvコマンドの確認(インストールされたバージョンの確認.)
 pyenvが正常にインストールされたかを確認する.

pyenv -v

【以下のように表示されたらOK!(バージョンは異なることがあります.)】

pyenv 2.3.3

⑤ インストールできるpythonのバージョンを確認する.

pyenv install -l

③ 使用するバージョンをインストールする.(ここでは一例としてversion3.10.5をインストール.以下,同様.)

pyenv install 3.10.5

④ pyenvによってインストール済みのバージョンを表示する.

pyenv versions

【以下のように表示されればOK!】

3.10.5

⑤ インストールしたバージョンを認識するシェルに切り替える.

pyenv shell 3.10.5

⑥ シェルが正常に切り替わっているか確認する.

python --version

【以下のように表示されればOK!】

Python 3.10.5

Step.3 仮想環境を作成

 Windowsの場合とほとんど一緒です.

① 仮想環境を作成したいディレクトリへ移動する.
(一例として,ユーザ直下のディレクトリを指定しています.)

cd ~

② 仮想環境を取りまとめるフォルダを作成し,仮想環境を構築する.
(一例として,フォルダ名は「python_version」,仮想環境名は「python_venv_3.10.5」としています.)

mkdir python_version

cd python_version

python -m venv python_venv_3.10.5

以下のエラーが出たら、次を実行してください。

【エラー内容】

No module named venv

【解決策】

sudo apt install venv

reboot

※ubuntu18.04の場合はpythonを実行するとpython2が起動してしまう。そのため、以下のように実行する必要がある。

python3 -m venv 「仮想環境名」

 また、以下のエラーが出た場合は、

The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

次のコマンドを実行したあとに、再度仮想環境の構築を行う。

sudo apt-get install python3-venv

 pythonを実行した際にpython3を起動させるためには、こちらの記事を参照して変更してみてください。
 →pythonを実行した際にpython3を起動させるように設定を変更したところ、terminatorが開かなくなりました。元に戻してみると動きました。原因は現在模索中です。

これで準備はおしまい!早速,pythonを使っていきましょう.

★実際に使用する時★

 使用する前に毎回有効化する必要があります.まずは,コマンドを開いて,仮想環境の有効化を行ってください.

source ~/python_version/python_venv_3.10.5/bin/activate

【以下のように表示されればOK!】

(python_venv_3.10.5) @[Username]:$

◆ここまで来たら,あとはpythonをどんどん使っていきましょう!◆

※1 終了するときは以下のコマンドを実行する.

deactivate

※2 インストールしたpythonのバージョンを確認するとき.

pyenv versions

 以上で説明は終了です.お疲れ様でした.

★バージョンを追加するとき★

① pyenvでインストールできるpythonのバージョンを確認する.

pyenv install -l 

② 使用するバージョンをインストールする.

pyenv install 「使用するバージョン」

③ インストールしたバージョンを認識するシェルに切り替える.

pyenv shell 3.10.5

④ シェルが正常に切り替わっているか確認する.

python --version

【以下のように表示されればOK!】

Python 「使用するバージョン」

⑤ 仮想環境の構築

cd ~/「仮想環境の構築フォルダ名」

python -m venv 「仮想環境名」

あとは使用する際にここと同様に行えばできます!
(以下のようなコマンドで仮想環境を有効化できます.)

source ~/「仮想環境の構築フォルダ名」/「仮想環境名」/bin/activate

参考文献

scoop
ubuntu 20.04 / 18.04 に pyenv をインストール
pyenvを使ってpythonのバージョン管理を行う

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?