Skip to main content

Cara Upgrade Python Pada Virtualenv

upgrade python virtualenv

Pernahkan kamu mencoba untuk upgrade versi python pada virtualenv? Sebelumnya, saya sudah membuat sebuah virtualenv python versi 3.7.3. Entah karena alasan tertentu, saya ingin mengupgrade versi python 3.8.5. Pada saat saya menulis ini versi terbaru adalah versi 3.8.5 rilis pada 20 Juli 2020

Ternyata cara upgrade python pada virtualenv ini membutuhkan waktu yang agak lama. Dan sebenarnya sih bukan upgrade, tapi membuat virtualenv baru, kemudian kita insall kembali modul atau library yang sudah ada di virtualenv lama ke virtualenv yang baru. Berikut langkah-langkahnya.

Back to top

1) Install Python 3.8.5 dari Source

Karena distro linux devuan 3 yang saya gunakan belum ada python 3.8.5 di repository, tidak bisa install python lewat apt-get. Maka dari itu, download python langsung dari website resmi python.org.

Untuk dapat menginstall python 3.8.5 dari source code, membutuhkan paket yang digunakan untuk building.

  • Install paket yang dibutuhkan untuk membuild python:
    sudo apt-get update
    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
    
  • Download source code python versi terbaru, pada tulisan ini dibuat versi terbaru adalah versi 3.8.5: wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
  • Setelah selesai mengunduh source code, ekstrak tar -xf Python-3.8.5.tar.xz
  • Masuk ke direktori source code Python, dan jalankan configure: ./configure --enable-optimizations<

    Langkah ini akan memeriksa untuk memastikan apakah semua dependensi yang dibutuhkan untuk building sudah terinstall. Pada opsi --enable-optimizations untuk mengoptimalkan binary python dengan menjalankan beberapa tes, namun penambahan opsi ini akan memperlambat proses building.

  • Jalankan make untuk melakukan proses buil:
    make -j 3

    opsi -j untuk menyesuaikan jumlah core prosesor yang dimiliki. Untuk melihat berapa jumlah core prosesor menggunakan perintah nproc. Kamu dapat menentukan sendiri jumlah core prosesor yang ingin digunakan, tapi tidak bisa lebih dari jumlah core prosesor.

  • Setelah proses buil selesai, sekarang kita install python menggunakan:sudo make altinstall. Untuk menggunakan perintah ini kamu harus memiliki hak akses sebagai root. Dan jangan menggunakan perintah sudo make install kalau tidak ingin menimpa versi python 3 yang sudah terinstall sebelumnya. Kecuali kamu memutuskan untuk mengganti versi python 3.7.3 menjadi 3.8.5.

    Karena saya tidak ingin mengganti versi python 3.7.3 menjadi versi python 3.8.5, maka menggunakan perintah sudo make altinstal

  • Terakhir, setelah instalasi selesai, periksa versi python yang baru yakni dengan cara python3.8 -V. Sekarang disistem operasi yang saya gunakan ada 3 versi python terpasang. Yaitu versi 2.7 (default), versi 3.7.3, dan versi 3.8.5
Back to top

2) Membuat Virtual Environment

Baca Juga : Cara Membuat Virtual Environment Python

Ok, setelah selesai install python 3.8.5, sekarang membuat virtual emvironment baru dari python 3.8.5. Caranya adalah

python3.8 -m venv env

Sekarang virtual environment python 3.8.5 sudah dibuat, kemudian saya akan mendaftar paket yang sudah terinstall pada virtual environment yang menggunakan python 3.7.3. Caranya:

  • Masuk ke direktori yang terdapat virtualenv yang menggunakan python versi 3.7.3
  • Aktifkan virtualenv
  • Lakukan perintah pip3 freeze -> requirementx.txt

    Perintah ini akan membuat sebuah file bernama requiremenx.txt yang berisi daftar semua paket yang sudah diinstal pada virtualenv yang menggunakan python 3.7.3. Kamu bisa memberikan nama apa saja selain requirementx.txt. Untuk penamaan file .TXT ini bebas, yang penting mudah diingat.

  • Deactivate untuk menonaktifkan virtualenv ini

Kemudian pindah lagi ke virtualenv yang menggunakan python 3.8.5 untuk menginstall paket seperti yang digunakan pada virtualenv python 3.7.3

pip install -r ../path/requirementx.txt

Keterangan: pada ../path adalah lokasi lengkap dimana file requirementx.txt berada. Atau kalau merasa kesulitan dengan cara ini, Kamu copy terlebih dahulu file .TXT tadi ke lokasi yang mudah atau bisa juga dicopy ke dalam direktori tempat virtualenv yang baru yakni yang menggunakan python 3.8.5. Kalau dicopy ke dalam satu direktori yang sama berarti perintahnya menjadi pip install -r requirementx.txt

Perintah ini akan menginstall semua paket yang tertulis di dalam file .TXT. Lamanya proses instalasi ini bergantung dari banyaknya paket dan koneksi internet Kamu.

Setelah selesai dengan pemasangan paket baru di virtualenv yang baru, Kamu bisa memindahkan atau mencopy pekerjaan python yang berada di lokasi lama, dalam hal ini file program yang berada di virtualenv yang menggunakan python 3.7.3

Sampai disini proses pemindahan virtualenv sudah selesai, dan program Kamu sekarang menggunakan python versi 3.8.5. Perlu juga diperhatikan bahwa, ada beberapa fitur yang ditiadakan pada python versi 3.8 ini, jadi mungkin saja kamu harus melakukan beberapa penyesuaian jika program ternyata tidak bekerja.

Back to top

3) Kesimpulan

Sebelum memutuskan untuk memindahkan program yang dibuat menggunakan python 3.7.3 ke python 3.8.5, sebaiknya pelajari terlebih dahulu mengenai fitur yang mungkin saja tidak bisa lagi digunakan pada python versi 3.8.5.

Karena bisa saja program yang Kamu buat di python versi 3.7.3 tidak berjalan sebagaimana mestinya setelah mengupgrade ke python versi 3.8.5, karena ada beberapa fitur yang tidak bisa lagi digunakan.

Jika dirasa perubahan program tidak memakan banyak waktu, Kamu bisa melanjutkan untuk migrasi ke versi python terbaru.

Kalau ada yang merasa kesulitan dengan cara upgrade python pada virtualenv, silahkan bertanya melalui komentar di bawah ini, atau kamu bisa menonton video ini yang mungkin akan lebih mudah dipahami.

Back to top