WSL上でPython(pyenv,pyenv-virtualenv)環境を構築

Programming
Programming
スポンサーリンク

はじめに

下記の記事の続きです。今回は、WSL上にPythonの実行環境を構築します。

関連記事

Linuxコマンドや設定方法で躓いたところなど

WSLの設定で躓いたところ等

Pythonの環境構築

WSLのUbuntu上で下記を実行していきます。

Pythonのインストールなどに必要なパッケージ郡のインストール

### Python パッケージのインストール ###
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential zlib1g-dev libssl-dev libbz2-dev libffi-dev libreadline-dev libsqlite3-dev
# ここまででpythonをインストールしようとしたときに、tk-dev liblzma-devが足りないエラーが出たので、下記を追加しています。
sudo apt install tk-dev liblzma-dev -y

pyenv のインストール

### pyenv ###
pyenv install -l
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

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

Python のインストール

今回は3.10.13をインストールしてます。

### Python Install ###
pyenv install 3.10.13

pyenv-virtualenv のインストール

### pyenv-virtualenv ###
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
echo export PYENV_VIRTUALENV_DISABLE_PROMPT=1 >> ~/.bashrc
source ~/.bashrc
# (※注)pyenv を有効にするため、ここで再ログイン (もしくはシェルの再起動)をしたほうが安全。`source`してもいいですが、一旦ログアウトしてしまうのが安全っぽいです。

pyenv versions
pyenv virtualenv 3.10.13 test
pyenv versions
# test が表示される

Python 動作確認

### Python 動作確認 ###
# 下記の場合、ホームディレクトリ `~` でtest.pyを作成し、 `Hello Python at WSL2` をコンソール表示するPythonファイルを動作させる。

cd ~
mkdir test
cd test
touch test.py
vim test.py
# 下記を追加
#####
print("Hello Python at WSL2")
#####

# 下記で環境の切り替えをする
pyenv global 3.10.13/envs/test
# pyenv global <pyenv-version>

pyenv local 3.10.13/envs/test # この場合、カレントディレクトリのみ 3.10.13/envs/test のPythonに設定される

python test.py

Console に Hello Python at WSL2 と表示されたらOKです。

参考

Ubuntu(WSL)にpyenvとPipenvの環境を構築する - ビー鉄のブログ
pyenvでのPython仮想環境の作り方まとめ - Qiita
用語の整理このへんの用語をすぐに忘れてごちゃごちゃになるのでメモ。pyenvPythonのバージョンを管理する。2系と3系の環境分けだけでなく、3.4と3.5の環境分けなども含む。基本的には…
pyenvとpyenv-virtualenvの自分流使い方 - Qiita
はじめに同僚に「Pythonの開発環境って pipenv 一択ですよね」と言われて「いや、自分は pyenv + pyenv-virtualenvで不自由していないんだよな」と思いながらも「こう使…

コメント

タイトルとURLをコピーしました