102
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Windows10(WSL)で、2018年的Pythonプロジェクト(①pyenv/pipenvの導入)

! (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上のサーバを使ったりなどなど。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
102
Help us understand the problem. What are the problem?