Ubuntu で pyenv, Anaconda3, Python 3.12, 各種パッケージのインストール

pyenvは,Python をインストールするのに便利なツールである. システムの Python とは別の Python を複数インストールし,バージョンを切り替えて使う機能を持つ. Anaconda3 は,Python バージョン 3 の言語処理系と,開発環境 (Jupyter ノートブック (Jupyter Notebook), Spyder) と,各種ツールの詰め合わせであり,パッケージ管理システム conda を含む.

* Anaconda 配布物(Anaconda Distribution および defaults チャンネル)の利用条件は,Anaconda 社の利用規約で定められており,一定規模以上の組織での利用は有償ライセンスの対象である.規約の対象外としたい場合は,同じ conda を用いる Miniforge3(conda-forge が提供,BSD ライセンス)を使う.Miniforge3 も pyenv からインストールできる.

ここで行うこと.

pyenv をインストールする.pyenv の配下に Anaconda3(conda 環境)と,Anaconda とは別の Python 3.12 をインストールする.それらにパッケージを追加する.

目次

  1. 前準備 (preparation)
  2. pyenv のインストールと設定 (Install pyenv, and its settings)
  3. pyenv を用いて Anaconda3 のインストール
  4. pyenv を用いて Python 3.12 のインストール
  5. pyenv の確認 (Examine pyenv)
  6. pyenv の Anaconda3 環境での各種パッケージのインストール
  7. pyenv の Anaconda3 環境で Spyder のインストール
  8. pyenv の Anaconda3 環境で SWIG を使ってみる
  9. pyenv の Python 3.12 環境での各種パッケージのインストール

サイト内の関連 Web ページ:

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。

# パッケージリストの情報を更新
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 のインストールと設定

  1. pyenv のダウンロード (Download pyenv)
    cd /tmp
    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    
  2. pyenv の更新 (Update pyenv)
    cd ~/.pyenv
    git pull
    
  3. 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 のインストール

  1. 新しく端末を開く
  2. インストールできるバージョンの確認 (decide the version)
    pyenv rehash
    pyenv install -l
    
  3. インストールできる Anaconda3 と Miniforge3 のバージョンの確認
    pyenv install -l | grep anaconda
    pyenv install -l | grep miniforge
    
  4. 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
    
  5. Anaconda3 のインストール (Install Anaconda)

    下の実行例では anaconda3-2025.06-1 をインストールしている.上のコマンドで表示された中の最新のバージョン名を指定してもよい.その場合は,以降のコマンドのバージョン名も同じものに読み替える.

    pyenv install anaconda3-2025.06-1
    

    Anaconda の代わりに Miniforge3 を使う場合は,次のようにインストールする.

    pyenv install miniforge3-latest
    
  6. 確認 (Examine the python versions)
    pyenv versions
    

    anaconda3-2025.06-1」がインストールされたことが分かる

  7. 試しに,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()
    
  8. 試しに spyder を起動してみる
    pyenv shell anaconda3-2025.06-1
    spyder
    

    spyder の画面が開くことを確認する

pyenv を用いて Python 3.12 のインストール

  1. 新しく端末を開く
  2. システムの python のバージョンの確認
    which python3
    python3 --version
    
  3. インストールできる Python のバージョンの確認 (decide the version)
    pyenv rehash
    pyenv install -l
    
  4. インストールできる Python 3.12 のバージョンの確認
    pyenv install -l | grep 3.12
    
  5. Python 3.12.11 のインストール (Install Python 3.12.11)

    上のコマンドで表示された中から最新の 3.12 系のバージョン番号を指定してもよい.その場合は,以降のコマンドのバージョン番号も同じものに読み替える.

    pyenv install 3.12.11
    
  6. 確認 (Examine the python versions)
    pyenv versions
    

    複数のPython がインストールされていることが分かる。

    使用する Python の切り替えは 次のコマンドで行う.この設定は,そのコマンドを実行した端末の中だけで有効である.
    • pyenv shell system
    • pyenv shell 3.12.11
    • pyenv shell anaconda3-2025.06-1
  7. 試しに 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()
    
  8. (オプション)既定で使用する 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 の確認 (Examine pyenv)

  1. 新しく端末を開く
  2. ~/.pyenv/versions ディレクトリ (~/.pyenv/versions directory)

    pyenv 配下にインストールされた Python は,このディレクトリの下に,バージョンごとに分かれて置かれる.

    ls ~/.pyenv/versions
    
  3. pyenv により,pip も設定される (pyenv do setting up pip)
    pyenv shell 3.12.11
    which python
    which pip
    pip list
    
    pyenv shell anaconda3-2025.06-1
    which python
    which pip
    which conda
    pip list
    

pyenv の Anaconda3 環境での各種パッケージのインストール

  1. 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 で続行する.

  2. conda-build のインストール

    * conda-build パッケージは,conda パッケージを自前で作成するためのツールである.

    conda install -y conda-build
    
  3. コンパイラ関連パッケージのインストール・インストール済みパッケージの更新
    conda install -y gcc_linux-64
    conda install -y gxx_linux-64
    conda update -y --all
    
  4. 各種パッケージのインストール

    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 から呼び出せるようにするためのツールである.

  1. SWIG のインストール (Install swig)
    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install swig
    
  2. プログラムファイルの作成

    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"],
             )
      
  3. 新しく端末を開く
  4. プログラムファイルから、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
    
  5. python 処理系を起動し、次のプログラムを試してみる
    python
    import example
    example.fact(4)
    exit()
    

pyenv の Python 3.12 環境での各種パッケージのインストール

  1. まずは,pip と setuptools の更新
    pyenv shell 3.12.11
    python -m pip install -U pip setuptools
    
  2. 各種パッケージのインストール

    端末で,次のコマンドを実行する. 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
    
  3. GDAL の Python バインディングのインストール

    GDAL の Python パッケージは,システムにインストールされた GDAL 本体とバージョンを一致させる必要がある.

    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install libgdal-dev
    python -m pip install -U "gdal==$(gdal-config --version)"