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

ソースコードリポジトリのコピーからTPAを使用できます。

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

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

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

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

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

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

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

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

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

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

::

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

クローンを作成すると、ホームディレクトリに\ ``tpa``
ディレクトリが作成されます。

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

::

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

binディレクトリをパスに追加します。新しく作成したクローンにbinディレクトリがあります。

次の行を\ ``.bashrc``
ファイルまたは優先シェルの他のプロファイルファイルに追加します。

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

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

``tpaexec setup``

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

``tpaexec selftest``

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

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

Python 3.9+
^^^^^^^^^^^

TPAには、ほとんどの最新のディストリビューションで利用可能なPython
3.9以降が必要です。お持ちでない場合は、
 `pyenv <https://github.com/pyenv/pyenv>`_ を使用して、システムパッケージに影響を与えることなく、希望のバージョンのPythonをインストールできます。
pyenvをまだ使用していない場合は、 ``.bashrc`` のPATHに\ ``pyenv``
を追加し、 `pyenv documentation <https://github.com/pyenv/pyenv#installation>`_ の説明に従って\ ``eval "$(pyenv init -)"``
を呼び出します。

.. code:: bash

   #  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.9.0
   Downloading Python-3.9.0.tar.xz...
   - > https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
   Installing Python-3.9.0...
   Installed Python-3.9.0 to /home/ams/.pyenv/versions/3.9.0

   $ pyenv local 3.9.0
   $ pyenv version
   3. 9.0 (set by /home/ams/pyenv/.python-version)

   $ pyenv which python3
   /home/ams/.pyenv/versions/3.9.0/bin/python3
   $ python3 --version
   3. 9.0

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

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

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

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

.. code:: bash

   export TPA_VENV="/other/location"
