! (2018.7.21)python 3.7用に記載を修正
! (2018.11.4;debian向け付記) zlibがないと怒られた時は以下など:
sudo apt-get install zlib1g
! (2019.2.4)pyenv自体のアップデート方法は、以下を参考に:
https://qiita.com/moroku0519/items/1c029659de4f169cd09a
#Windows 10でモダンでlinuxなpython環境を用意
##これは何?
Mac前提だけど良記事な『2018年のPythonプロジェクトのはじめかた』の前半を、windows 10上のWSL(Windows Subsystem for Linux)で試してみた記録。
##背景
社内事情により、管理権限者にwindows 10にwindowsストアからWSL用のLinux(debian)を入れてもらった上で、windows 10の一般ユーザーがWSL版debianでモダンなPythonプロジェクトをさくっとはじめられるかお試ししたかった。
##結論
WSL版debianでは、コマンドラインから10行くらいコマンドを叩けばモダンなモダンなPython環境を用意できる。
WSL版ubuntuも同様にいけるはず。
WSL版debianについては、以下の記事などを参照のこと
http://gihyo.jp/admin/clip/01/linux_dt/201803/07
#(抜粋)2018年以降のモダンなPythonプロジェクト
- PythonにPipenvという公式推奨の高機能なパッケージマネージャー(2018年には、npmのような開発体験が得られるようになってきている)
- Pipenvとpyenvを併用すると、プロジェクト毎に指定バージョンのPythonを自動でインストールできる)
- Pipenvは、プロジェクトをディレクトリ単位で管理するのが基本(具体的なところは、『2018年のPythonプロジェクトのはじめかた』を参照)
WSL版debian/ubuntuでpyenvが動くまで。
① git経由でpyenvを導入
sudo apt update
sudo apt upgrade
sudo apt install git
git clone https://github.com/yyuu/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
pyenv
② 依存関係のあるbuild-essentialなどを入れて、pyenvでpython(3.7.1)をビルドし、ディフォルトにする
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
sudo apt-get install libffi-dev
pyenv install 3.7.1
pyenv global 3.7.1
③ pipenvを入れる
pip install --upgrade pip
pip install pipenv
あとは、『2018年のPythonプロジェクトのはじめかた』にしたがって、モダンなpipenvライフをおくろう。
ちなみに、upgrade pipしてなくても、pipenv は入るが、以下のようにpipを新しくしてねと言われるので、先にupgrade pipしておく方が良さそう。
dev@DESKTOP-1BM7JIS:~/min$ pip install pipenv
Collecting pipenv
Downloading https://files.pythonhosted.org/packages/2c/01/37a5867a47d52856b077d0faa561b791cb6e6e3e9410837b6d62f569c1e6/pipenv-11.10.1-py3-none-any.whl (6.3MB)
100% |████████████████████████████████| 6.3MB 213kB/s
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Downloading https://files.pythonhosted.org/packages/6d/c2/dccb5ccf599e0c5d1eea6acbd058af7a71384f9740179db67a9182a24798/virtualenv_clone-0.3.0-py2.py3-none-any.whl
Collecting virtualenv (from pipenv)
Downloading https://files.pythonhosted.org/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
100% |████████████████████████████████| 2.6MB 508kB/s
Requirement already satisfied: pip>=9.0.1 in /home/dev/.pyenv/versions/3.6.5/lib/python3.6/site-packages (from pipenv)
Collecting certifi (from pipenv)
Downloading https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl (150kB)
100% |████████████████████████████████| 153kB 1.1MB/s
Requirement already satisfied: setuptools>=36.2.1 in /home/dev/.pyenv/versions/3.6.5/lib/python3.6/site-packages (from pipenv)
Installing collected packages: virtualenv-clone, virtualenv, certifi, pipenv
Successfully installed certifi-2018.4.16 pipenv-11.10.1 virtualenv-15.2.0 virtualenv-clone-0.3.0
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
#終わりに
Windows 10の一般ユーザー権限でdebian使って業務(社内データサイエンティスト?)をしなければいけない立場なもので、もう少し環境整備をお試ししたい。
spacemacsなどを入れたり、AWS上のサーバを使ったりなどなど。