0
3

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 3 years have passed since last update.

まっさらなUbuntu20.04環境へのpyenvインストールメモ

0
Last updated at Posted at 2021-07-13

概要

Ubuntu20.04に脱Anacondaのpython環境を作る必要がでてきたが、【インストールメディアを用いて作成した】まっさらなUbuntuへの環境構築に少々てこずったのでメモを残しておく。
参考にしたサイトは末尾に記載。

作業項目

  • ライブラリのインストール
  • pyenvのインストール
  • 環境変数の設定
  • OS標準のpythonコマンドへのシンボリックリンク作成
  • pythonのインストール
  • pythonバージョンの切り替え

ライブラリインストール

各種ライブラリをインストールする。

sudo apt install git gcc make zlib1g-dev libffi-dev libbz2-dev libssl-dev libreadline-dev libsqlite3-dev python3-tk tk-dev

pyenvのインストール

pyenvをホームディレクトリにインストール。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenv-update

環境変数の設定

ホームディレクトリ直下の.bash_profileに、pyenv用の環境変数を追記する。
.bash_profileは、なければ作成する。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# for pyenv(python)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

はじめ、eval行の引数に「-」(ハイフン)を指定していたのだが、「--path)」に変更したら後述するpythonバージョン切り替えができるようになった。ここで2時間くらい無駄にしてしまった。。

OS標準のpythonコマンドへのシンボリックリンク作成

Ubuntu20.04標準のpythonは「/usr/bin/python3」しかなく「python」コマンドが通らないため、pyenvでのpython切り替え(systemへの切り替え)がうまくいかないことがある模様。そのため、pythonコマンドが通るようにシンボリックリンクを作成する。

ln -s /usr/bin/python3 /usr/bin/python

参考サイト(githubのissue)には下記のworkaroundも書いてあった。どちらの対応でもよさそう。

sudo apt install python-is-python3

pythonのインストール

今回は、2021/7/13時点で最新の3.9.6をインストールする。

pyenv install 3.9.6

pythonバージョンの切り替え

python3.9.6への切り替え。

pyenv global 3.9.6
pyenv rehash
pyenv versions
   system
 * 3.9.6 (set by PYENV_VERSION environment variable)

別コマンドでもpythonバージョンを確認。

python --version
Python 3.9.6

ちゃんと3.9.6に切り替わっていることが確認できたらOK。

このあとは、pipenvインストールして仮想環境を作ってと。
以上。

参考サイト

Python 3.xの環境構築【Ubuntu 20.04】
https://note.com/mokuichi/n/n627eb6773aad
pyenv(github)
https://github.com/pyenv/pyenv
pyenv(github -> issue)
https://github.com/pyenv/pyenv/issues/1613

0
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?