Cara Install Library Python di Server Tanpa Internet
TL;DR
Untuk cara install library Python di server tanpa internet, langkah singkatnya sebagai berikut:
- Gunakan laptop yang ada koneksi internet
- Buat folder baru, misal wheels
- Jalankan pip download -r requirements.txt -d wheels
- Pindahkan isi dari folder tersebut ke server.
- Bisa copy paste lewat RDP.
- Bisa menggunakan flashdisk.
- Bisa menggunakan scp
- Install library python di server tanpa internet:
- Jalankan: pip install –no-index –find-links=<lokasi folder wheels> -r requirements.txt
Masalah dengan Server Tanpa Internet
Jadi ingat waktu pertama kali ditugaskan untuk setup service Python di server yang tidak ada koneksi internet. Saya agak kebingungan di tengah jalan. Di awal, saya copy paste zip repo dari local ke server lewat RDP, setelah itu extract dan buat virtual environment dengan requirements.txt yg ada di repo. Namun, gagal saat install library yang ada di requirements.txt. Saat dicek, ternyata tidak ada koneksi internet yang berjalan di server tersebut.
Saya agak bingung, karena kalau install requirements.txt kan lewat pip yang mana harus terkoneksi ke internet, sedangkan tidak ada koneksi internet di server tersebut.
Lalu saya ada ide, bagaimana kalau saya download dulu librarynya di local, lalu pindahkan ke server, dan install secara offline. Tapi pertanyaannya bagaimana caranya?
Cara Install Library Python di Server yang Tidak Ada Internet
Setelah mencari solusinya, saya akhirnya menggunakan cara ini untuk install library Python di server yang tidak ada internet:
- Gunakan laptop atau PC yang ada koneksi internetnya.
- Buat folder baru di dalam folder repo, misalnya wheels.
- Dengan terminal yang terbuka dalam folder repo, jalankan: pip download -r requirements.txt -d wheels.
- Setelah semuanya terdownload, zip folder repo yang didalamnya sudah ada file library (folder wheels).
- Pindahkan zip repo tersebut ke server, ini bisa menggunakan beberapa cara:
- Jika server bisa terjangkau secara fisik, bisa pakai flashdisk.
- Jika server remote, bisa:
- Copy paste lewat RDP.
- Bisa menggunakan scp lewat power shell atau terminal, dengan perintah scp D:\repo\repo.zip (file path yang ingin dikirim) user@host:/home/user/repo.zip (lokasi file path tujuan)
- Unzip repo tersebut dan masuk ke folder repo.
- Buat virtual environment di folder repo.
- Install library python di server tanpa internet.
- Jalankan: pip install –no-index –find-links=/home/user/repo/wheels (lokasi folder wheels) -r requirements.txt
Sekian dan semoga bermanfaat.
