Installing TPA from source
==========================

このドキュメントでは、ソースコードリポジトリのコピーからTPAを使用する方法について説明します。

..  Note::
   EDB顧客がソフトウェアのEDBサポートを受けるには、 :ref:`TPA installation <TPA installation>` 必要があります。

ソースからTPAを実行するには、パッケージが処理するすべての依存関係たとえばPython
3.12+をインストールするか、ソースと :ref:`Running TPA in a Docker container <Running TPA in a Docker container>` をダウンロードする必要があります。
(どちらの方法もLinuxおよびmacOSでは正常に動作します。)

クイックスタート
----------------

最初に、さまざまな依存関係Python 3、Python
venv、git、およびopenvpnをインストールする必要があります。
EDBリポジトリからインストールすると、これらはTPAパッケージとともに自動的にインストールされます。

TPAをインストールする前に、必要なパッケージをインストールする必要があります。

- **Debian/Ubuntu**
  ``sudo apt-get install python3 python3-pip python3-venv git openvpn``

- **Redhat、RockyまたはAlmaLinuxRHEL7)**
  ``sudo yum install python3 python3-pip epel-release git openvpn``

- **Redhat、RockyまたはAlmaLinuxRHEL8)**
  ``sudo yum install python36 python3-pip epel-release git openvpn``

クローンとセットアップ
----------------------

前提条件がインストールされると、リポジトリのクローンを作成できます。

.. code:: shell

   git clone https://github.com/enterprisedb/tpa.git ~/tpa

これにより、ホームディレクトリに\ ``tpa`` ディレクトリが作成されます。

sshを使用してチェックアウトする場合は、次を使用します。

.. code:: shell

   git clone ssh://git@github.com/EnterpriseDB/tpa.git ~/tpa

新しく作成したクローン内にあるbinディレクトリを、次のパスに追加します。

.. code:: shell

   export PATH=$PATH:$HOME/tpa/bin

この行を\ ``.bashrc``
ファイルまたは使用するシェルの他のプロファイルファイルに追加します。

次を実行して、作業用のtpa環境を作成できるようになりました。

.. code:: shell

   tpaexec setup

これにより、TPAが将来的に使用するPython仮想環境が作成されます。必要なパッケージはすべてこの環境にインストールされます。これが正しく構成されたことをテストするには、次を実行します。

.. code:: shell

   tpaexec selftest

これで、tpaexecがインストールされました。

依存関係
--------

Python 3.12+
^^^^^^^^^^^^

TPAには、ほとんどの最新のディストリビューションで利用可能なPython
3.12以降が必要です。お持ちでない場合は、
`pyenv <https://github.com/pyenv/pyenv>`_ を使用して、システムパッケージに影響を与えることなく、希望のバージョンのPythonをインストールできます。

.. code:: shell


   #  First, install pyenv and activate it in ~/.bashrc

   #  See https://github.com/pyenv/pyenv#installation

   #  (e.g., `brew install pyenv` on MacOS X)

   pyenv install 3.12.0

.. code:: output

   Downloading Python-3.12.0.tar.xz...
   - > https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
   Installing Python-3.12.0...
   Installed Python-3.12.0 to /home/ams/.pyenv/versions/3.12.0

.. code:: shell

   pyenv local 3.12.0
   pyenv version

.. code:: output

   3. 12.0 (set by /home/ams/pyenv/.python-version)

.. code:: shell

   pyenv which python3

.. code:: output

   /home/ams/.pyenv/versions/3.12.0/bin/python3

.. code:: shell

   python3 --version

.. code:: output

   3. 12.0

pyenvをまだ使用していない場合は、 `pyenv documentation <https://github.com/pyenv/pyenv#installation>`_ の説明に従って、
``pyenv`` を.bashrcのPATHに追加し、\ ``eval "$(pyenv init -)"``
を呼び出してください。

仮想環境オプション
^^^^^^^^^^^^^^^^^^

デフォルトでは、\ ``tpaexec setup`` はビルトインPython 3 ``-m venv``
を使用して\ ``$TPA_DIR/tpa-venv`` の下にvenvを作成し、 ``tpaexec``
が呼び出されるたびに自動的にアクティブにします。

``tpaexec setup --venv /other/location``
を実行して、新しいvenvの別の場所を指定できます。

デフォルトのvenvの場所を使用することを強くお勧めします。別の場所を使用する場合は、環境変数TPA_VENVをその場所に設定する必要があります。たとえば、次の行を.bashrcまたは他のシェル起動スクリプトに追加します。

.. code:: shell

   export TPA_VENV="/other/location"
