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

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

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

ソースからTPAを実行するには、パッケージが処理するすべての依存関係（Python
3.6以降など）をインストールするか、ソースと :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、またはAlmaLinux（RHEL7）**
   ``sudo yum install python3 python3-pip epel-release git openvpn patch``

-  **Redhat、Rocky、またはAlmaLinux（RHEL8）**
   \ ``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ディレクトリを、次のコマンドを使用してパスに追加します。

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

この行を\ ``.bashrc``
ファイル（または好みのシェルの他のプロファイルファイル）に追加します。

次を実行して、作業用のtpa環境を作成できます。

``tpaexec setup``

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

``tpaexec selftest``

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

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

Python 3.6+
^^^^^^^^^^^

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

.. 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

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

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

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

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

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

.. code:: bash

   export TPA_VENV="/other/location"
