見出し画像

【IT】Ubuntuにpyenv(Pythonバージョン管理)の導入

皆さま
こんにちは

Ubuntu 20.04.5 LTSの環境に
Pythonバージョン管理ツールであるpyenvを導入したときの手順です。

1.専用ユーザの作成
2.必要モジュールのインストール
3.pyenvの導入
の順番で実施します。
※$(一般ユーザ)と#(rootユーザ)はプロンプトとなります。

1.専用ユーザの作成
sudo可能なユーザで実施します。
今回作成するユーザ名は「testpy」となります。

$ sudo su - 

# useradd -m -s /bin/bash testpy

# passwd testpy
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました

# usermod -aG docker testpy
# usermod -aG sudo testpy
# id testpy
uid=1010(testpy) gid=1010(testpy) groups=1010(testpy),27(sudo),998(docker)

2.必要モジュールのインストール
rootユーザのまま実施します。
※環境により他に必要となるモジュールがある場合があります。
 その場合は、適宜インストールします。

# apt-get install xz-utils tk-dev libffi-dev liblzma-dev python-openssl liblzma-dev

3.pyenvの導入
1で作成したユーザ「testpy」ユーザにて実施します。
URLがgitですとエラーとなったため、httpsへ変更しております。

# su - testpy 
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/home/testpy/.pyenv'...
remote: Enumerating objects: 22475, done.
remote: Counting objects: 100% (50/50), done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 22475 (delta 21), reused 31 (delta 16), pack-reused 22425
Receiving objects: 100% (22475/22475), 4.61 MiB | 4.14 MiB/s, done.
Resolving deltas: 100% (15173/15173), done.

次にパスを通します。

$ cd ~/
$ cp -p .bashrc .bashrc_orig
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

$ tail .bashrc
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

$ source ~/.bashrc

pyenvが動作する確認します。
まずはバージョン一覧がリストできるか確認します。

$ pyenv install --list
Available versions:
  2.1.3
   ・
   ・
  3.10.9
  3.11.0
  3.11-dev
  3.11.1
  3.12.0a3
  3.12-dev

Versin3.10台のPythonをインストールします。

$ pyenv install 3.10.9
Downloading Python-3.10.9.tar.xz...
-> https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tar.xz
Installing Python-3.10.9...
Installed Python-3.10.9 to /home/testpy/.pyenv/versions/3.10.9

現時点のPythonのみを切り替えます。
(ログインユーザのカレントディレクトリ配下)

$ python --version
Python 2.7.18

$ cd test0001

$  pyenv local 3.10.9

$ python --version
Python 3.10.9

全体に設定する場合は、
pyenv global x.y.zとしますが、
今回は、専用ユーザ配下にpyenvインストールしているため、
他のユーザまでは反映されません。

では




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