LoginSignup
4
6

More than 3 years have passed since last update.

wslでのpython仮想環境作成

Last updated at Posted at 2021-05-03

wslでのpython仮想環境作成

wslでのubuntuでは,最初からpythonがインストールされているが,プロジェクトごとにバージョンを切り替えたりする必要があるため,pythonのパッケージ管理を行うpyenvと仮想環境を作成するvenvをインストールしていく.

venv,pipインストール

以下を実行

$ sudo apt install python3-venv python3-pip

バージョン確認

# Python 
$ python3 -V

# pip
$ pip3 -V

# venv
$ apt show python3-venv

仮想環境作成

作成するディレクトリで以下を実行.

$ python3 -m venv venv-sample

するとvenv-sampleというディレクトリができる.

仮想環境をonにするときは

$ surce venv-sample/bin/activate

仮想環境をoffにするときは

(venv-sample)$ deactivate

pyenvインストール

git からクローン

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

環境変数を設定.

.bashrc.zshrcなど設定ファイルに以下を追記.

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="PYENV_ROOT/bin:PATH"
if command -v pyenv 1>/dev/null 2>1; then
    eval "$(pyenv init -)"
fi

シェルを再起動し,以下を実行すると,利用可能なpythonのバージョン一覧を確認できる.

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
...
  anaconda-1.4.0
  anaconda-1.5.0
...

次にここにあるように,pythonをインストールするためのものをインストールする.

sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

終了したら,他のバージョンがインストールできるようになる.

pyenv install 3.6.12
# proxy通す場合は(必要ないかも)
https_proxy=[proxy_address]:[port] pyenv install 3.6.12

以下で確認

# インストールされている一覧
$ pyenv versions

# シェルにおける実行環境の設定
$ pyenv shell <バージョン>

# デフォルトの実行環境の設定
4 pyenv global <バージョン>

他のバージョンのpythonをいれたら元々あったsystemのpythonが謎に消えたが,たぶん問題ないので気にしない.

バージョンを指定して仮想環境作成

インストールしたバージョンで仮想環境を作成する.

まずはバージョンを変える.

$ pyenv shell 3.6.12

続いて,仮想環境を作成する

$ python3 -m venv venv-sample2

すると,venv-sample2というディレクトリができる.

そして仮想環境をonにする.

$ source venv-sample2/bin/activate

仮想環境内でpythonのバージョンを確認すると,変更したバージョンとなっていることがわかる.

# 仮想環境入る前
$ python3 -V
> Python 3.8.6

# 仮想環境入った後
(venv-sample2)$ python -V
> Python 3.6.12

作成した仮想環境内で,pipなどで必要なパッケージなどを管理していく.

仮想環境を消す

作成した仮想環境が必要なくなったら,ディレクトリごと消せばok.

$ rm -rf venv-sample

pipenv

pyenvとvenvが合わさったpipenvというものがあるらしいが,よくわからん.

参考文献

4
6
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
4
6