Python実行エンジンはpyenvで仮想環境を用意すると安全かつ確実に使える。
開発環境
- Linux Mint 17.3 MATE 32bit
Python
test.py
ファイルにソースコードを書く。
print('Hello Python !!')
ターミナルを起動してコマンドを叩く。
$ python test.py
実行結果。
Hello Python !!
プリインストール
Linuxには最初からPythonがインストールされていることがある。もし手動でインストールするなら、Pythonのソースコードを取得し、コンパイルすることになる。面倒なのでpyenv
でインストールしたい。
http://d.hatena.ne.jp/As_hsp/20111220/1324344089
バージョン2と3
Pythonはバージョン2と3で互換性がない。しばしば2と3両方プリインストールされていることがある。
ver | コマンド |
---|---|
2 | python |
3 | python3 |
python
コマンドで統一したいのだが、デフォルトではそうなっていない。pyenv
なら可能。
複数バージョン共存
バージョン2, 3にはそれぞれさらに細かいバージョンがある。
一般 Python FAQ — Python 3.6.1 ドキュメント
たとえばLinuxMint17.3にプリインストールされていたのは以下のバージョンである。
さらに執筆時点で最新の以下バージョンも使いたくなったとする。
- Python 3.6.1
異なるバージョンをいくつも共存させつつ、python
コマンドが示すPythonを指定したい。
Pythonエンジンの仮想化
各バージョンのPythonを異なるディレクトリにインストールし、python
コマンドが指し示すPythonを変更する。これで複数バージョンの共存と利用ができる。
pyenv
pyenv
はPythonエンジン仮想化ツールである。
Pythonコンパイルに必要なもの
$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
pyenvはPythonのソースコードをダウンロードしてコンパイルする。それに必要なパッケージを予めインストールしておく必要がある。さもないとPythonの環境構築について調べてpyenvで3.6.1をインストールした)ときのようにダウンロード&コンパイルエラーをくりかえすことになる。
pyenvインストール
PyenvによるPython3.x環境構築(CentOS, Ubuntu) - Qiita
インストールしたいディレクトリに移動して以下コマンドを実行する。
$ sudo git clone git://github.com/yyuu/pyenv.git
pyenvの初期化
~/.bash_profile
ファイルに初期設定スクリプトを書く。
export PATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
上記スクリプトをターミナル起動するたびに実行する。以下のコマンドで。
$ bash -l
もしくは以下。
$ source ~/.bash_profile
pyenvコマンド
コマンド | 説明 |
---|---|
pyenv install 3.6.1 |
インストール |
pyenv uninstall 3.6.1 |
アンインストール |
pyenv global 3.6.1 |
バージョン指定 |
pyenv versions |
全バージョン表示 |
pyenv version |
現在バージョン表示 |
パッケージ管理ツール
パッケージ入手ツール
pipを使う。pipは第三者が作成したライブラリを入手するためのツール。
pyenvでPythonをインストールし指定すると、pipコマンドもそのバージョンのものになる。昔はeasy_installという名前のツールを使っていたらしい。
Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)
パッケージ作成ツール
setuptoolsを使うらしい。
Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)
パッケージ仮想環境構築ツール
複数パッケージの組合せを個別ディレクトリに保存するもの。
Pythonのバージョンごとに使えるものが違う。複雑すぎて把握できていない。
py Ver | パッケージ仮想化ツール |
---|---|
3.6〜 | venv |
3.〜3.5 | pyvenv, virtualenv, virtualenvwapper, pyenv-virtualenv |
2.〜 | virtualenv |
まとめ
$ bash -l $ pyenv install 3.6.1 $ pyenv global 3.6.1 $ python -V $ pip install requests $ pip list
所感
把握するだけでも難しい。使いこなすのはもっと難しい。