LoginSignup
0
1

More than 1 year has passed since last update.

Ubuntu 20.04@ Windows-WSL2で pyenv + venv環境でjupyterを動かす。

Last updated at Posted at 2021-09-06

すぐ忘れるので、自分用のメモです。

pyenvのインストール

必要なコマンドを入れる

sudo apt update
sudo apt upgrade

sudo apt install git wget curl

Python が依存するライブラリのインストール

Ubuntu 20.04 では、/etc/apt/sources.list を編集する。

sudo vim /etc/apt/sources.list

して 以下を最後の行に追加する。


deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main

して、 以下のコマンドを実行

sudo apt update
sudo apt build-dep python3.8

pyenv のダウンロード

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

cd ~/.pyenv
git checkout v1.2.21

bash_profileの編集

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

最後にbash_profileの保存を行う。

source ~/.bash_profile

環境変数の追加

.bashrcに以下を追加

# sudo vim ~/.bashrc
PYENV_ROOT="${HOME}/.pyenv"
PATH="${PYENV_ROOT}/bin:${PATH}"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

Pythonのインストール

ターミナルを再起動して

pyenv install 3.7.9

ソールからビルドするので、時間かかります。

(備考)pyenvのチートシート

Command Description
pyenv install --list pyenv でインストール可能な Pythonのバージョンを一覧表示
pyenv install [version] 指定したバージョンの Pythonをインストール
pyenv versions pyenv でインストールした Python を一覧表示
pyenv shell [version] 現在のシェルで使用する Python のバージョンを設定
pyenv local [version] カレントディレクトリ以下で使用する Python のバージョンを設定
pyenv global [version] すべてのシェルで使用する Pythonのバージョンを設定
pyenv version 現在設定されている Python のバージョンを表示
pyenv uninstall [version] 指定したバージョンの Pythonをアンインストール

pythonを3.7.9に設定する。

確認→設定 そして確認

# 確認
pyenv versions
# 設定
pyenv local 3.7.9
# 確認
pyenv versions

venvの設定

pyenv は Python 自体のバージョンを管理するものですが、これと合わせて Python 標準ライブラリの venv を利用することで、設定した Python のバージョンでパッケージを管理する仮想環境を作成することができる。

# Python のバージョンを設定
pyenv shell 3.7.9

# カレントディレクトリに仮想環境を作成
python -m venv --upgrade-deps my-env379

# 仮想環境を有効化
source venv/bin/activate


# 必要に応じて
pip install -r requirements.txt

以上

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