Ubuntu で pyenv, Anaconda3, Python 3.12, 各種パッケージのインストール
* Anaconda 配布物(Anaconda Distribution および defaults チャンネル)の利用条件は,Anaconda 社の利用規約で定められており,一定規模以上の組織での利用は有償ライセンスの対象である.規約の対象外としたい場合は,同じ conda を用いる Miniforge3(conda-forge が提供,BSD ライセンス)を使う.Miniforge3 も pyenv からインストールできる.
ここで行うこと.
pyenv をインストールする.pyenv の配下に Anaconda3(conda 環境)と,Anaconda とは別の Python 3.12 をインストールする.それらにパッケージを追加する.
【目次】
- 前準備 (preparation)
- pyenv のインストールと設定 (Install pyenv, and its settings)
- pyenv を用いて Anaconda3 のインストール
- pyenv を用いて Python 3.12 のインストール
- pyenv の確認 (Examine pyenv)
- pyenv の Anaconda3 環境での各種パッケージのインストール
- pyenv の Anaconda3 環境で Spyder のインストール
- pyenv の Anaconda3 環境で SWIG を使ってみる
- pyenv の Python 3.12 環境での各種パッケージのインストール
サイト内の関連 Web ページ:
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
C/C++ コンパイラと Make とビルドツールのインストール
ソフトウェアをソースコードからビルドするには、C/C++コンパイラ (通常はGCC) や make ユーティリティといった開発ツールが重要である。Ubuntuでは、これらのツールは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。
sudo apt -y install build-essential libtool texinfo dpkg-dev pkg-config
libtool, texinfo, dpkg-dev, pkg-config は、より複雑なビルドやパッケージ管理の際に役立つ開発関連ツールである。
git, wget,libbz2-dev,libreadline-dev,libssl-dev,libsqlite3-dev のインストール
pyenv は Python をソースコードからビルドするため,ビルドに必要な開発用ライブラリを導入する. 端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl git llvm libncurses-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
pyenv のインストールと設定
- pyenv のダウンロード (Download pyenv)
cd /tmp git clone https://github.com/pyenv/pyenv.git ~/.pyenv - pyenv の更新 (Update pyenv)
cd ~/.pyenv git pull
- pyenv の設定 (Settings of pyenv)
PYENV_ROOT の設定,PATH への追加,pyenv init の実行を,bash の設定ファイル
~/.bashrcに追記する.echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bashrc echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bashrc echo ' export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bashrc echo ' eval "$(pyenv init - bash)"' >> ~/.bashrc echo 'fi' >> ~/.bashrc exec $SHELL -l
pyenv を用いて Anaconda3 のインストール
- 新しく端末を開く
- インストールできるバージョンの確認 (decide the version)
pyenv rehash pyenv install -l
- インストールできる Anaconda3 と Miniforge3 のバージョンの確認
pyenv install -l | grep anaconda pyenv install -l | grep miniforge - Anaconda3 の前提ソフトウェアのインストール (Install libraries)
# パッケージリストの情報を更新 sudo apt update sudo apt -y install libbz2-dev libsqlite3-dev libssl-dev libreadline-dev libpng-dev libjpeg-dev zlib1g-dev libx11-dev libfreetype6-dev
- Anaconda3 のインストール (Install Anaconda)
下の実行例では anaconda3-2025.06-1 をインストールしている.上のコマンドで表示された中の最新のバージョン名を指定してもよい.その場合は,以降のコマンドのバージョン名も同じものに読み替える.
pyenv install anaconda3-2025.06-1Anaconda の代わりに Miniforge3 を使う場合は,次のようにインストールする.
pyenv install miniforge3-latest
- 確認 (Examine the python versions)
pyenv versions「anaconda3-2025.06-1」がインストールされたことが分かる
- 試しに,anaconda3-2025.06-1 の Python を起動してみる (Try to launch Anaconda Python)
「pyenv shell anaconda3-2025.06-1」は,anaconda3-2025.06-1 の Python の使用を開始するためのコマンドである.この設定は,そのコマンドを実行した端末の中だけで有効である.
pyenv shell anaconda3-2025.06-1 python --version python print(1 + 2) exit() - 試しに spyder を起動してみる
pyenv shell anaconda3-2025.06-1 spyder
spyder の画面が開くことを確認する
pyenv を用いて Python 3.12 のインストール
- 新しく端末を開く
- システムの python のバージョンの確認
which python3 python3 --version - インストールできる Python のバージョンの確認 (decide the version)
pyenv rehash pyenv install -l
- インストールできる Python 3.12 のバージョンの確認
pyenv install -l | grep 3.12 - Python 3.12.11 のインストール (Install Python 3.12.11)
上のコマンドで表示された中から最新の 3.12 系のバージョン番号を指定してもよい.その場合は,以降のコマンドのバージョン番号も同じものに読み替える.
pyenv install 3.12.11 - 確認 (Examine the python versions)
pyenv versions複数のPython がインストールされていることが分かる。
使用する Python の切り替えは 次のコマンドで行う.この設定は,そのコマンドを実行した端末の中だけで有効である.- pyenv shell system
- pyenv shell 3.12.11
- pyenv shell anaconda3-2025.06-1
- 試しに Python を起動してみる (Try to launch Python)
pyenv shell 3.12.11 python --version python print(1 + 2) exit() pyenv shell anaconda3-2025.06-1 python --version python print(1 + 2) exit() - (オプション)既定で使用する Python の設定 (optionally, setting of default python)
pyenv globalは,端末を開き直しても有効な既定のバージョンを設定するコマンドである.- 既定で pyenv 配下の Python 3.12.11 を使いたいときの設定
pyenv global 3.12.11 - 既定で pyenv 配下の anaconda3-2025.06-1 を使いたいときの設定
pyenv global anaconda3-2025.06-1
- 既定で pyenv 配下の Python 3.12.11 を使いたいときの設定
pyenv の確認 (Examine pyenv)
- 新しく端末を開く
- ~/.pyenv/versions ディレクトリ (~/.pyenv/versions directory)
pyenv 配下にインストールされた Python は,このディレクトリの下に,バージョンごとに分かれて置かれる.
ls ~/.pyenv/versions
- pyenv により,pip も設定される (pyenv do setting up pip)
pyenv shell 3.12.11 which python which pip pip listpyenv shell anaconda3-2025.06-1 which python which pip which conda pip list
pyenv の Anaconda3 環境での各種パッケージのインストール
- conda, pip, setuptools の更新 (Update conda, pip and setuptools)
pyenv shell anaconda3-2025.06-1 conda update -y -n base conda python -m pip install -U pip setuptools
* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.
- conda-build のインストール
* conda-build パッケージは,conda パッケージを自前で作成するためのツールである.
conda install -y conda-build - コンパイラ関連パッケージのインストール・インストール済みパッケージの更新
conda install -y gcc_linux-64 conda install -y gxx_linux-64 conda update -y --all - 各種パッケージのインストール
Anaconda では,「conda」という形式の Python のパッケージを扱うことができる. Python のパッケージを追加することで,Python にいろいろな機能を追加することができる.conda を用いて Python パッケージ以外のソフトウェアをインストールすることもできる.
* conda と pip を同じ環境で混在させると依存関係が壊れることがあるため,conda で入手できるものは conda で導入し,pip は conda に無いものに限って使う.
端末で,次のコマンドを実行する.
pyenv shell anaconda3-2025.06-1 conda install -y numpy scipy hdf5 h5py pillow six protobuf conda install -y scikit-learn scikit-image matplotlib seaborn graphviz python-graphviz pydot conda install -y pyyaml flask django sympy pandas sqlite redis-py pylint ipykernel conda install -y py-opencv gensim statsmodels bokeh plotly conda install -y -c conda-forge pyproj shapely fiona rtree geopandas folium exifread haversine utm gdal conda install -y -c conda-forge dlib python -m pip install -U face_recognition imutils msgpack pyglet pygame overpy conda update -y --all* 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.
pyenv の Anaconda3 環境で Spyder のインストール
Spyder は Python の統合開発環境である.Anaconda3 には Spyder が同封されているため,通常は更新のみでよい.
pyenv shell anaconda3-2025.06-1
conda update -y spyder
Miniforge3 など Spyder が含まれない環境では,次のようにインストールする.
conda install -y -c conda-forge spyder
「spyder」で、試しに起動してみる.
pyenv の Anaconda3 環境で SWIG を使ってみる
SWIG は,C や C++ のプログラムを Python から呼び出せるようにするためのツールである.
- SWIG のインストール (Install swig)
# パッケージリストの情報を更新 sudo apt update sudo apt -y install swig
- プログラムファイルの作成
https://www.swig.org/Doc4.0/Python.html#Python_nn6 に記載のサンプルプログラム
* Python 3.12 で標準ライブラリの
distutilsが削除された.拡張モジュールのビルドには setuptools を使用する.- 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 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 で実行可能にするためのファイルを作る
端末で次のように操作
pyenv shell anaconda3-2025.06-1 python -m pip install -U setuptools swig -python example.i python setup.py build_ext --inplace ls -la example.* build
- python 処理系を起動し、次のプログラムを試してみる
python import example example.fact(4) exit()
pyenv の Python 3.12 環境での各種パッケージのインストール
- まずは,pip と setuptools の更新
pyenv shell 3.12.11 python -m pip install -U pip setuptools - 各種パッケージのインストール
端末で,次のコマンドを実行する. pip を利用.pyenv 配下の Python へのインストールであるため sudo は付けない.
pyenv shell 3.12.11 python -m pip install -U numpy scipy h5py six protobuf pillow python -m pip install -U scikit-learn scikit-image matplotlib seaborn graphviz pydot python -m pip install -U pyyaml flask django sympy pandas redis pylint ipykernel python -m pip install -U opencv-python opencv-contrib-python gensim statsmodels bokeh plotly python -m pip install -U termcolor wheel setuptools werkzeug markdown absl-py grpcio click cligj click-plugins munch python-dateutil pytz python -m pip install -U msgpack dlib face_recognition imutils python -m pip install -U PyOpenGL pyglet pygame python -m pip install -U pyproj shapely fiona rtree geopandas folium overpy exifread haversine utm*
opencv-pythonの import には共有ライブラリが必要である.不足している場合は次を実行する.# パッケージリストの情報を更新 sudo apt update sudo apt -y install libgl1 libglib2.0-0t64 - GDAL の Python バインディングのインストール
GDAL の Python パッケージは,システムにインストールされた GDAL 本体とバージョンを一致させる必要がある.
# パッケージリストの情報を更新 sudo apt update sudo apt -y install libgdal-dev python -m pip install -U "gdal==$(gdal-config --version)"