Python 3.xの環境構築【Ubuntu 20.04】
この記事が目指す環境
・Ubuntu 20.04 LTS
・pyenv (Pythonのバージョン管理ツール)
・Python 3.x
・pipenv (仮想環境の作成等)
なぜpyenvとpipenvを使用するのか
OS内にデフォルトでPythonが入っていることがありますが、システムの一部として使われていることもあり環境を破壊してしまうとOSの動作に影響を及ぼすことがあります。また、自身の使いたいPythonのバージョンを選ぶことができません。なので、バージョン管理ツールを入れて、再インストールもしやすく自身の使いたいバージョンを入れられるようにします。
pyenvではできないPythonのパッケージ管理はpipenvを使うことでディレクトリ(プロジェクト)ごとに管理します。
はじめに
以下のコマンドを入力してパッケージリストの更新とインストール済みパッケージの更新をしておきます。
$ sudo apt update
$ sudo apt upgrade
終わったら一度、再起動します。
$ systemctl reboot
必要なソフトウェアのインストール
一行が長いのでコピペする際は注意しましょう。
$ sudo apt install git gcc make zlib1g-dev libffi-dev libbz2-dev libssl-dev libreadline-dev libsqlite3-dev python3-tk tk-dev python3-distutils python3-pip
pyenvのインストール
pyenv updateで更新ができるようにプラグインも追加しておきます。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenv-update
pyenvのパスを自身が使用しているシェルに通します。
# bashの場合
$ sudo nano ~/.bashrc
.bashrcの最後の行に移動し、以下を追記します。
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
注意:上記の三行目はもともとeval "$(pyenv init -)"でしたが、pyenvの仕様変更により変更しました。
変更を保存し、変更を適用します。
$ source ~/.bashrc
Pythonのインストール
現時点でインストールできるバージョンを確認します。
$ pyenv install --list
(2020/7/10時点)ではPython 3.8.3が最新バージョン。
今回はPython 3.8.3をインストールします。
$ pyenv install 3.8.3
インストールが終了したらpyenvに追加されているか確認します。
$ pyenv versions
以下のコマンドでpythonのバージョンを切り替えます。
$ pyenv global 3.8.3
#もともと入っていたPythonを使いたいとき
$ pyenv global system
#フルパス(HOME=/home/mokuichi147のとき)
$ /home/mokuichi147/.pyenv/versions/3.8.3/bin/python3.8
pipenvのインストール
パッケージ管理ツール等をアップグレードしておきます。
$ pip install --upgrade pip setuptools
pipenvをインストールします。
$ pip install pipenv
pipenvを使う(メモ)
$ cd hoge/fuga
#pythonのバージョン指定
$ pipenv --python 3.8.3
#使いたいパッケージをpipではなくpipenvでインストールする
$ pipenv install hoge
#作成した仮想環境に入る
$ pipenv shell
#Pythonスクリプトを実行する
$ python hoge.py
#仮想環境から抜け出す
$ exit