Anaconda 3 で各種パッケージのインストール,SWIG の利用,Python 仮想環境の作成(Ubuntu 上)
前準備
- 前準備として 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 matplotlib numpy scipy h5py scikit-learn scikit-image seaborn pandas pandasql pillow pytest pyyaml cython bokeh statsmodels plotly sympy docopt pyproj flake8 protobuf 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 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 update sudo apt -y install swig
- プログラムファイルの作成
https://www.swig.org/Doc4.0/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
distutils は Python 3.12 で削除されたため,setuptools を使用する.
#!/usr/bin/env python """ setup.py file for SWIG example """ from setuptools 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 で実行可能にするためのファイルを作る
--inplace は,生成されたモジュールをカレントディレクトリに置くオプションである.
swig -python example.i python setup.py build_ext --inplace ls -la example.* build
- python 処理系を起動し、次のプログラムを試してみる
import example example.fact(4) exit()
隔離された Python 環境の作成 (condaを使用)
- 今から作成するPython の仮想環境の名前と、Pythonのバージョンを決めておく
- Python の仮想環境の名前: py311
- Pythonのバージョン: 3.11
- 端末を開く
- Python の仮想環境を作成する
端末で,次のコマンドを実行する.
「Proceed ([y]/n) ?」 に対しては Enterキー
conda create -n py311 python=3.11
(以下省略) - Python 環境が作成できたことを確認
conda info -e
これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3.11,名前は py311)が共存できた。
隔離された Python 環境で各種パッケージのインストール
Anaconda 既定のときとの違いは、最初に「conda activate py311」を実行することである.
conda-build パッケージのインストール
conda-buildパッケージは,condaパッケージを自前で作成するためのツールである.
- conda-build パッケージのインストール
新しく端末を開き,次のコマンドを実行する.
conda activate py311 conda install -y conda-build
* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.
- setuptools, conda, conda-build の更新
conda update -y setuptools conda update -y conda conda update -y conda-build
* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.
- gcc_linux, gxx_linux のインストール・インストール済みパッケージの更新
gcc_linux-64, gxx_linux-64 は,conda 環境内で C, C++ のコンパイルを行うためのコンパイラである.
conda install -y gcc_linux-64 conda install -y gxx_linux-64 conda update -y --all