LoginSignup
9
5

More than 3 years have passed since last update.

Ubuntu18.04にPython3.8 + Pipenv環境を構築

Last updated at Posted at 2019-11-24

はじめに

Ubuntu18.04に環境構築したので、作業メモとして残します。
Python3.8のインストールにはpyenvを使用します。

環境

Ubuntu 18.04.3 LTS

手順

1.Git インストール

$ sudo apt install git

2.pyenv インストール

githubからpyenvをクローンする。

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

パスを環境変数に設定。
Ubuntuだと.bash_profileでなく.bashrcに記載する。
[参考]
https://github.com/pyenv/pyenv#basic-github-checkout

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

シェル起動時にpyenvが起動されるように設定。

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

シェル再読込 & インストール確認。

$ exec "$SHELL"
$ pyenv --version
pyenv 1.2.15-2-g22c02022

3.Python3.8 インストール

Pythonのビルドに必要なパッケージをインストールする。
[参考]
https://github.com/pyenv/pyenv/wiki#suggested-build-environment

$ sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Python 3.8.0 をインストール(時間がかかるので気長に待ちます)

$ pyenv install 3.8.0

インストール確認

$ pyenv versions
* system
  3.8.0

4.ローカルで使用するPythonを指定する

pyenvでインストールしただけではPython3.8は有効にならないので、明示的にバージョンを指定する。

$ mkdir -p ~/sample/py38
$ cd ~/sample/py38
$ pyenv local 3.8.0

ローカル以下(上の例だとpy38ディレクトリ以下)でpython3.8が有効になる。(pipコマンドも同様)

$ python --version
Python 3.8.0
$ pip --version
pip 19.2.3

5.Pipenv インストール

$ pip install pipenv
$ pipenv --version
pipenv, version 2018.11.26

6.Pipenv プロジェクト作成

環境変数にPIPENV_VENV_IN_PROJECT=trueを指定すると、プロジェクト直下にvenvディレクトリが作成される。vscodeとの連携がしやすいため、ここではtrueに設定する。

$ mkdir pipenvdemo
$ cd pipenvdemo
$ export PIPENV_VENV_IN_PROJECT=true
$ pipenv --python 3
9
5
1

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
9
5