Anaconda 3 で各種パッケージのインストール,SWIG の利用,Python 2.7 仮想環境の作成(Ubuntu 上)
【目次】
- 前準備
- 各種パッケージのインストール
- Python環境で SWIG を使ってみる
- 隔離された Python 2.7 環境の作成 (condaを使用)
- 隔離された Python 2.7 環境で各種パッケージのインストール(condaを使用)
先人に感謝
前準備
- 前準備として Anaconda がインストール済みであること
- Anaconda3 の conda パッケージの更新、古い conda パッケージファイルの削除
「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.
conda config --remove channels conda-forge conda upgrade -y --all conda clean -y --packages
(途中省略)
(途中省略)
各種パッケージのインストール
Anaconda では,「conda」という形式の Python のパッケージも、簡単に扱うことができる. Python のパッケージを追加することで,Python にいろいろな機能を追加することができる.conda を用いてPythonパッケージ以外のソフトウェアをインストールすることもできる
端末で,次のコマンドを実行する.
CONDAPKGS="tensorflow-gpu tensorflow-datasets matplotlib numpy scipy h5py scikit-learn scikit-image seaborn pandas pandasql pillow pytest pyyaml cython bokeh keras statsmodels plotly sympy csvkit docopt pyproj flake8 protobuf pymc3 bs4 html5lib rope wrapt mkl mkl-include cffi wheel six holoviews jupyterlab jupyter spyder sphinx bottleneck pygments numexpr xlrd xlsxwriter lxml graphviz pydot flask django redis pylint bz2file PyOpenGL"
for i in $CONDAPKGS; do
echo $i
conda install -y $i > /dev/null
done
conda install -c conda-forge -y opencv
conda config --remove channels conda-forge
SWIG を使ってみる
- SWIG のインストール (Install swig)
sudo apt -y update sudo apt -y install swig
- プログラムファイルの作成
http://www.swig.org/Doc1.3/Python.html#Python_nn6 に記載のサンプルプログラム
- example.i
%module example %{ #define SWIG_FILE_WITH_INIT #include "example.h" %} int fact(int n);
- example.c
#include "example.h" int fact(int n) { if (n < 0){ /* This should probably return an error, but this is simpler */ return 0; } if (n == 0) { return 1; } else { /* testing for overflow would be a good idea here */ return n * fact(n-1); } }
- example.h
int fact(int n);
- setup.py
#!/usr/bin/env python """ setup.py file for SWIG example """ from distutils.core import setup, Extension example_module = Extension('_example', sources=['example_wrap.c', 'example.c'], ) setup (name = 'example', version = '0.1', author = "SWIG Docs", description = """Simple swig example from docs""", ext_modules = [example_module], py_modules = ["example"], )
- example.i
- プログラムファイルから、Python で実行可能にするためのファイルを作る
swig -python example.i python setup.py build_ext --inplace ls -la example.* build
- python 処理系を起動し、次のプログラムを試してみる
import example example.fact(4) exit()
隔離された Python 2.7 環境の作成 (condaを使用)
- 今から作成するPython の仮想環境の名前と、Pythonのバージョンを決めておく
- Python の仮想環境の名前: py27
- Pythonのバージョン: 2.7
- 端末を開く
- Python の仮想環境を作成する
端末で,次のコマンドを実行する.
「Proceed ([y]/n) ?」 に対しては Enterキー
conda create -n py27 python=2.7
(以下省略) - Python 環境が作成できたことを確認
conda info -e
これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 2.7,名前は py27)の共存できた。
隔離された Python 2.7 環境で各種パッケージのインストール
Anaconda 既定のときと比べると、最初に「source activate py27」を実行するだけの違い
conda-build パッケージのインストール
conda-buildパッケージは,condaパッケージを自前で作成するなどが簡単にできるためのツール.
- まずは,最新の conda-build パッケージが欲しい.
新しく端末を開き,次のコマンドを実行する.
activate py27 conda install -y conda-build
* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.「反応が遅いなあ」と思ったら、Enter キーを押してみる.
- setuptools, conda, conda-build の更新
conda update -y setuptools conda update -y conda conda update -y conda-build
* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.「反応が遅いなあ」と思ったら、Enterキーを押してみる.
- gcc_linux, gxx_linux のインストール・インストール済みパッケージの更新
conda install -y gcc_linux-64 conda install -y gxx_linux-64 conda update -y --all