Uncategorized

pythonの開発環境その2

以前にdirenvとvirtualenvでpythonの開発環境を作る手順を書きました。

ksaito11.hatenablog.com

pythonzを使うとpythonのバージョンも選択できるようになります。

前提パッケージ

ubuntu17.04に下記の前提パッケー時をインストールします。

$ apt-get install -y \
build-essential \
zlib1g-dev \
libbz2-dev \
libssl-dev \
libreadline-dev \
libncurses5-dev \
libsqlite3-dev \
libgdbm-dev \
libdb-dev \
libexpat-dev \
libpcap-dev \
liblzma-dev \
libpcre3-dev \
curl \
python-pip \
virtualenv

pythonzのインストール

pythonzのREADME.mdの手順をansibleのplaybookにしました。

$ cat python.yml
---
- name: python develop environment
hosts: all
tasks:
- name: pythonzのインストール確認
stat: path="{{ ansible_user_dir }}/.pythonz/etc/bashrc"
register: stat
- name: pythonzのインストール
shell: curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
when: not stat.stat.exists
- name: pythonzの設定
lineinfile:
dest: "{{ ansible_user_dir }}/.bashrc"
state: present
line: "[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc"
$ ansible-playbook python.yml -c local

pythonのインストール

使いたいバージョンのpythonをインストールします。

$ pythonz install 3.5.0

direnvの設定

direnvの設定は、前回の記事を参照下さい。

direnvに使いたいバージョンを

$ direnv edit .
$ cat .envrc
layout python $(pythonz locate 3.5.0)
$

これで、使いたいバージョンのpythonを利用することが出来ます。

$ cd tmp
direnv: loading .envrc
direnv: export +VIRTUAL_ENV ~PATH
(0)18:31:05 ksaito@dind$ python --version
Python 3.5.0
$

pipのパッケージも環境毎に独立した物になります。

$ pip list --format=columns
Package       Version
------------- -------
appdirs       1.4.3
boto          2.46.1
packaging     16.8
pip           9.0.1
pkg-resources 0.0.0
setuptools    35.0.2
six           1.10.0
wheel         0.29.0
$
タイトルとURLをコピーしました