Anaconda や virtualenv や pyenv を用いる場合の Panda3D のインストール手順

Ubuntu で Anacondavirtualenvpyenv による Python 環境を使う場合に、その環境に対して Panda3D をソースコードからビルドしてインストールする手順を説明する。

Panda3D は、公式に配布されているホイールファイルを用いて pip install panda3d でインストールすることもできる。ソースコードからのビルドが必要になるのは、最新の開発版を使いたい場合や、ビルドオプションを変更したい場合である。

前準備

  1. 新しく端末を開く
  2. 使用される python の確認

    * どの Python が使用されるかを事前に確認するため。

    端末で、次のコマンドを実行

    which python
    python --version
    

    実行結果例(表示が違う場合がありえる)

  3. python 環境の選択
    • Anaconda のとき

      「conda env list」でインストールされている Python 環境を調べ、「conda activate <環境名>」で Python 環境を切り替える。端末で、次のコマンドを実行

      conda env list
      conda activate <環境名>
      
    • virtualenv(virtualenvwrapper)のとき

      「lsvirtualenv」でインストールされている Python 環境を調べ、「workon <環境名>」で Python 環境を切り替える。端末で、次のコマンドを実行

      lsvirtualenv
      workon <環境名>
      
    • pyenv のとき

      「pyenv versions」でインストールされている Python の種類を調べ、「pyenv shell <環境名>」で Python 環境を切り替える。端末で、次のコマンドを実行

      pyenv versions
      pyenv shell <環境名>
      
  4. pip、setuptools、wheel の更新

    端末で、次のコマンドを実行

    python -m pip install --upgrade pip setuptools wheel
    
  5. ビルドに必要なパッケージのインストール

    * https://github.com/panda3d/panda3d/blob/master/README.md による。ここに含まれないパッケージが見つからない場合、makepanda はその機能を無効にしてビルドを続行する。

    端末で、次のコマンドを実行

    sudo apt -y update
    sudo apt -y install git build-essential pkg-config fakeroot python3-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev libgtk-3-dev libassimp-dev libopenexr-dev
    

Panda3D のビルドとインストール

https://github.com/panda3d/panda3d/blob/master/README.md の手順で行う。

  1. pip の確認

    * どの Python に Panda3D がインストールされるかを事前に確認するため。pip が属する Python が、Panda3D のインストール先になる。

    端末で、次のコマンドを実行

    pip --version
    

    実行結果例(表示が違う場合がありえる)

  2. ソースコードの入手

    端末で、次のコマンドを実行

    cd /tmp
    sudo rm -rf panda3d
    git clone --depth 1 https://github.com/panda3d/panda3d.git
    cd panda3d
    
  3. ビルド

    * https://github.com/panda3d/panda3d/blob/master/README.md による。makepanda.py を実行した Python 向けにビルドされるので、切り替えた Python 環境の python で実行する。「--wheel」は、pip でインストールできるホイールファイルを生成するオプションである。

    端末で、次のコマンドを実行

    python makepanda/makepanda.py --everything --wheel --no-egl --no-gles --no-gles2 --no-opencv
    
  4. インストール

    * ビルドで生成されたホイールファイルを、切り替えた Python 環境にインストールする。

    端末で、次のコマンドを実行

    pip install panda3d*.whl
    
  5. インストールできたことの確認

    端末で、次のコマンドを実行

    python -c "import panda3d.core; print(panda3d.core.PandaSystem.getVersionString())"
    
  6. システム全体にインストールする場合

    「--wheel」の代わりに「--installer」を指定すると .deb ファイルが生成され、dpkg でインストールできる。この方法では Ubuntu システムの Python に対してインストールされるため、Anaconda や virtualenv や pyenv の Python 環境からは利用できない。

    端末で、次のコマンドを実行

    python makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
    sudo dpkg -i panda3d*.deb