【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インストールしているため、
他のユーザまでは反映されません。
では