Build From Source: Python

Lingkungan

Lingkungan yang digunakan adalah Ubuntu Linux versi 18.04. Gunakan Docker / Docker Desktop atau teknologi virtualisasi lain seperti VirtualBox jika tidak tersedia.

Python

Python merupakan bahasa pemrograman yang bersifat dinamis dan interpreted yang dibuat pertama kali di tahun 80-an oleh Guido van Rossum. Python dapat digunakan untuk membangun banyak hal seperti server web, developer tools, model machine learning, dan lain-lain.

Versi terbaru interpreter bahasa pemrograman Python saat ini adalah versi 3.10.7, namun versi tersebut hanya tersedia di sistem operasi yang lebih baru. Versi interpreter Python yang tersedia untuk Ubuntu 18.04 adalah versi 3.6. Jika interpreter yang dibutuhkan adalah versi yang lebih baru, maka interpreter Python harus dikompilasi dan dipasang secara mandiri.

Build From Source

Unduh paket perangkat lunak berikut ini dengan menggunakan apt:

  • gcc
  • make
  • libssl-dev
  • curl
  • zlib1g-dev
  • libffi-dev
sudo apt update && \
sudo apt install -y gcc make libssl-dev curl zlib1g-dev libffi-dev

Jika ingin menggunakan tcl/tk untuk membuat aplikasi GUI, install juga package tcl-dev dan tk-dev.

sudo apt install tcl-dev tk-dev

Siapkan direktori untuk menampung kode program interpreter Python.

mkdir -p $HOME/bfs/python

cd $HOME/bfs/python

Unduh kode program interpreter Python versi 3.10.7 menggunakan program CLI curl.

curl -OL https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tgz

Buka arsip tarball dengan menggunakan tar.

tar -xzf Python-3.10.7.tgz

Konfigurasi

Python dapat dikompilasi dengan atau tanpa optimasi performa. Jika ingin menggunakan optimasi, tambahkan flag --enable-optimizations ke perintah configure di direktori Python-3.10.7.

cd $HOME/bfs/python/Python-3.10.7

./configure --enable-optimizations

Jika optimasi performa tidak diinginkan, hilangkan flag --enable-optimizations dari perintah configure.

Prefix instalasi juga dapat ditentukan dengan menggunakan flag prefix. Misalkan, prefix $HOME/python ingin digunakan sebagai direktori instalasi, maka berikut adalah perintah configure:

./configure --enable-optimizations --prefix=$HOME/python

Kompilasi

Kompilasi Python dengan menggunakan make. Flag -j NN dapat ditambahkan dengan NN adalah angka/jumlah core yang tersedia di prosesor komputer.

make -j4

Di akhir proses kompilasi, akan ditemukan pesan berikut ini jika ada beberapa modul yang tidak dapat dikompilasi dikarenakan tidak ditemukannya library yang diperlukan untuk mengkompilasi modul modul tersebut.

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _uuid                 readline      

Library-library yang diperlukan dapat diinstall dengan menggunakan apt dan Python dapat dikompilasi ulang agar modul-modul tersebut tersedia.

Instalasi

Setelah berhasil dikompilasi, Python dapat di-install dengan menggunakan target install.

sudo make install

Python akan tersedia di bawah direktori /usr/local jika konfigurasi prefix tidak diubah.

Jalankan perintah python3 di terminal untuk memastikan bahwa interpreter Python sudah tersedia.

python3

atau

python3.10

Jika teks berikut ini muncul di layar terminal, maka Python versi 3.10.7 telah tersedia.

Python 3.10.7 (main, Sep 27 2022, 17:21:40) [GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>