「インストール - Python」の版間の差分

ナビゲーションに移動 検索に移動
9行目: 9行目:
== Pythonのインストール ==
== Pythonのインストール ==
==== RHEL / SUSE ====
==== RHEL / SUSE ====
ここでは、Pythonをホームディレクトリにインストールする。<br>
<br>
Pythonのビルドに必要なライブラリをインストールする。<br>
Pythonのビルドに必要なライブラリをインストールする。<br>
  # RHEL
  # RHEL
18行目: 16行目:
  sudo zypper install zlib-devel libffi-devel libbz2-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel libnsl-devel
  sudo zypper install zlib-devel libffi-devel libbz2-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel libnsl-devel
<br>
<br>
# まず、以下のディレクトリを作成する。<br><span style="color:#CC0000"><u>--enable-sharedオプションを付加する場合は、必ず、lib64ディレクトリも作成すること。</u></span>
まず、<span style="color:#CC0000"><u><code>--enable-shared</code>オプションを付加する場合は、必ず、libディレクトリまたはlib64ディレクトリも作成する必要がある。</u></span><br>
#: <code>mkdir -p /<Pythonのインストールディレクトリ>/lib64</code>
# Python 3.12以降をインストールする場合
# ダウンロードしたファイルを解凍するため、以下のコマンドを実行する。
mkdir -p /<Pythonのインストールディレクトリ>/lib
#: <code>tar xf Python-<バージョン>.tar.xz</code>
# 解凍したディレクトリに移動して、コンパイル用のディレクトリを作成する。
# Python 3.11以前をインストールする場合
#: <code>cd Python-<バージョン> && mkdir build</code>
mkdir -p /<Pythonのインストールディレクトリ>/lib64
# 次に、Makefileを生成するため、以下のコマンドを実行する。<br><br>Pythonを共有ライブラリ付きでインストールするには、<code>--enable-shared</code>オプションを付加する。<br><code>rpath</code>を指定する理由は、ダイナミックリンクを行う側に、リンクするlibpythonX.X.soの場所をフルパスで記憶させるためである。
<br>
#: <code>../configure --enable-optimizations --enable-shared --prefix=<Pythonのインストールディレクトリ> \</code><br><code>LDFLAGS="-Wl,-rpath /<Pythonのインストールディレクトリ>/lib64"</code>
[https://www.python.org/downloads/ Pythonの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br>
# Pythonのソースコードのコンパイルを行う。(<code>-j $(nproc)</code>オプションを使用することで、ジョブ数を増加させて高速処理を行う)
ダウンロードしたファイルを解凍する。<br>
#: <code>make -j $(nproc)</code>
tar xf Python-<バージョン>.tar.xz
# コンパイル完了後、インストールを行う。
cd Python-<バージョン>
#* configureスクリプトで--prefixオプションを指定する場合
<br>
#*: <code>make install</code>   
Pythonをビルドおよびインストールする。<br>
#* configureスクリプトで--prefixオプションを指定しない場合
<br>
#*: <code>make altinstall</code>
Pythonを共有ライブラリ付きでインストールする場合は、<code>--enable-shared</code>オプションを付加する。<br>
# 以下のディレクトリにシンボリックリンクを作成する。
また、<code>rpath</code>オプションを付加する理由としては、ダイナミックリンクを行う側に、リンクするlibpython<バージョン>.soライブラリの場所をフルパスで記憶させるためである。<br>
#: <code>ln -s /<Pythonのインストールディレクトリ>/lib64/python<バージョン>/lib-dynload/ /<Pythonのインストールディレクトリ>/lib/python<バージョン>/</code>
mkdir build && cd build
# 必要ならば、.profileファイルまたは.bashrcファイルに、以下のような環境変数パスを追記する。
#: <code>export PATH="/<Pythonのインストールディレクトリ>/bin:$PATH"</code>
# Python 3.12以降の場合
#: <code>export LD_LIBRARY_PATH="/<Pythonのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"</code>
../configure --prefix=<Pythonのインストールディレクトリ>    \
              --enable-optimizations --enable-shared \
              LDFLAGS="-Wl,-rpath /<Pythonのインストールディレクトリ>/lib"
# Python 3.11以前の場合
../configure --prefix=<Pythonのインストールディレクトリ>   \
              --enable-optimizations --enable-shared \
              LDFLAGS="-Wl,-rpath /<Pythonのインストールディレクトリ>/lib64"
make -j $(nproc)
# configureスクリプトで<code>--prefix</code>オプションを付加している場合
make install
# configureスクリプトで<code>--prefix</code>オプションを付加していない場合
  make altinstall
<br>
Python 3.11以前をインストールする場合は、以下に示すディレクトリにシンボリックリンクを作成する。<br>
ln -s /<Pythonのインストールディレクトリ>/lib64/python<バージョン>/lib-dynload/ \
      /<Pythonのインストールディレクトリ>/lib/python<バージョン>/
<br>
必要ならば、~/.profileファイル等に、環境変数<code>PATH</code>および<code>LD_LIBRARY_PATH</code>を追記する。<br>
<syntaxhighlight lang="sh">
export PATH="/<Pythonのインストールディレクトリ>/bin:$PATH"
export LD_LIBRARY_PATH="/<Pythonのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
</syntaxhighlight>
<br>
<br>
<u>※注意</u><br>
<u>※注意</u><br>

案内メニュー