Cara menginstal Python dengan cara cerdas

Python mudah digunakan, ramah untuk pemula, dan cukup kuat untuk membuat perangkat lunak yang kuat untuk hampir semua aplikasi. Tetapi ini masih merupakan perangkat lunak seperti yang lain, yang berarti dapat rumit untuk disiapkan dan dikelola.

Dalam artikel ini kita akan membahas cara mengatur Python dengan cara yang benar: bagaimana memilih versi yang sesuai, bagaimana menjaga beberapa versi agar tidak menginjak satu sama lain, dan bagaimana menghindari semua sisi tajam lainnya dan potensi jebakan di sepanjang cara.

Pilih versi dan distribusi Python yang tepat

Demi kompatibilitas dengan modul pihak ketiga, selalu paling aman untuk memilih versi Python yang merupakan revisi poin utama di belakang versi saat ini .

Pada saat penulisan ini, Python 3.8.1 adalah versi terbaru. Taruhan amannya, kemudian, adalah menggunakan pembaruan Python 3.7 terbaru (dalam hal ini, Python 3.7.6). Anda selalu dapat mencoba versi terbaru Python dengan cara yang terkontrol - misalnya, di VM atau mesin uji - tetapi mundur satu versi menjamin kompatibilitas terbaik dengan paket Python pihak ketiga yang umum.

Python juga hadir dalam berbagai distribusi, dengan cara yang sama seperti Linux. Tidak seperti Linux, Python menawarkan satu, standar emas, edisi "resmi" Anda selalu dapat menggunakan: CPython, versi yang disediakan oleh Python Software Foundation di python.org. Sekali lagi, ini adalah distribusi yang paling aman dan kompatibel secara luas, yang tidak dipecat oleh siapa pun karena dipilih. (Anda mungkin ingin menyelidiki distribusi Python lain nanti, karena mereka menangani kasus penggunaan tertentu yang mungkin Anda miliki, tetapi kami tidak akan mempertimbangkannya di sini.)

Salah satu pilihan utama yang harus Anda buat, terutama di Windows, adalah apakah akan menggunakan Python versi 32-bit atau 64-bit. Jawaban yang paling mungkin adalah 64-bit, karena alasan berikut:

  • Sebagian besar sistem operasi modern menggunakan Python edisi 64-bit secara default. Pengguna Windows dapat menjalankan Python edisi 32-bit pada Windows 64-bit, tetapi dengan sedikit biaya kinerja. 
  • Python 32-bit, dan aplikasi 32-bit secara umum, hanya dapat mengakses memori 4GB dalam satu waktu. Aplikasi 64-bit tidak memiliki batasan ini, oleh karena itu banyak alat analisis data dan pembelajaran mesin untuk Python bekerja paling baik dalam inkarnasi 64-bit. Beberapa hanya tersedia dalam versi 64-bit. 

Satu-satunya saat Anda harus memilih Python versi 32-bit adalah jika Anda terjebak dengan Windows versi 32-bit, atau Anda perlu menggunakan modul pihak ketiga yang hanya tersedia dalam edisi 32-bit.

Instal Python di Windows dengan cara yang cerdas

Python menginstal pada Windows dengan cara yang hampir sama seperti aplikasi lainnya, melalui installer yang memandu Anda melalui proses penyiapan.

Secara default, penginstal Python untuk Windows menempatkan file executable-nya di AppDatadirektori pengguna , sehingga tidak memerlukan izin administratif. Jika Anda adalah satu-satunya pengguna di sistem, Anda mungkin ingin menempatkan Python di direktori tingkat yang lebih tinggi (misalnya C:\Python3.7) agar lebih mudah ditemukan. Penginstal Windows memungkinkan Anda menentukan direktori target.

Pilih pemasang Python yang tepat untuk Windows

Python.org menawarkan sejumlah inkarnasi Python untuk Windows yang berbeda. Selain versi 32-bit (“x86”) dan 64-bit (“x86-64”) yang telah disebutkan, Anda dapat memilih dari file zip yang dapat disematkan, penginstal yang dapat dieksekusi, dan penginstal berbasis web. Inilah semua tentang itu:

  • The installer executable hanya file EXE yang menjalankan proses setup untuk Python. Ini adalah pilihan default yang mudah, dan paling umum digunakan.
  • The installer berbasis web adalah sama dengan installer executable, kecuali bahwa itu secara terpisah mendownload bit yang diperlukan untuk melakukan instalasi. Ini secara dramatis mengurangi ukuran penginstal sebenarnya, tetapi tentu saja memerlukan koneksi jaringan.
  • The embeddable file zip adalah, copy minimal mandiri dari runtime Python yang cocok dalam satu folder tanpa dependensi. Ini berguna untuk memaketkan saat Anda ingin mendistribusikan aplikasi Python secara manual, atau saat Anda memerlukan penginstalan Python satu kali yang cepat untuk menguji sesuatu dengan cepat. Tetapi zip yang dapat disematkan tidak termasuk  pipatau salah satu alat berguna lainnya yang datang dengan penginstalan penuh, jadi itu hanya untuk penggunaan ahli.

Instal Python menggunakan manajer paket untuk Windows

Namun pilihan lain adalah menggunakan salah satu sistem manajemen paket yang ada untuk Windows. NuGet, manajer paket untuk .NET, menawarkan Python dalam repositori. Namun, Python disediakan di sana terutama untuk digunakan sebagai komponen dalam aplikasi .NET, bukan sebagai cara untuk menginstal instance mandiri Python untuk penggunaan umum. Anda mungkin akan menemukan instance Python Anda lebih mudah untuk dikelola jika Anda menginstal Python dengan cara biasa. 

Chocolatey, sistem manajemen paket Windows yang lebih umum, menawarkan Python juga. Chocolatey adalah cara mudah untuk menjalankan pemasang Python dan melacak keberadaan runtime bahasa Python di sistem Anda - dan dengan demikian merupakan pilihan yang lebih baik daripada NuGet. Namun, yang terbaik adalah menghindari mencampur dan mencocokkan pemasangan Chocolatey dan pemasangan reguler Python pada sistem yang sama.

Instal Python di Linux dengan cara yang cerdas

Karena distribusi Linux berbeda secara signifikan, cara umum untuk menginstal Python di Linux adalah dengan menggunakan manajer paket distro tertentu. Ubuntu dan Fedora, misalnya, memiliki prosedur yang sama sekali berbeda untuk menginstal Python. Di Linux (dan MacOS), direktori target untuk penginstalan biasanya ditentukan sebelumnya dan berdasarkan nomor versi Python, misalnya /usr/bin/python3.Xdi Linux, atau /usr/local/opt/python/di Mac.

Salah satu cara untuk menghindari kerumitan pengelola paket Linux adalah dengan menggunakan runtime Python dalam container. Penampung berjalan terisolasi dari sistem lainnya, jadi Anda tidak perlu khawatir tentang runtime Python yang berbeda yang saling menginjak kaki satu sama lain. Namun, jika alur kerja Anda belum menyertakan container, Anda harus mencurahkan waktu dan energi untuk mempercepat penggunaan Docker. (Perhatikan bahwa Anda juga dapat menggunakan Python dalam container di Windows.)

Alat bernama asdf-vm juga berguna di sini. Anda dapat menggunakan asdf-vm untuk mengelola beberapa runtime Python pada sistem mirip Unix (Linux dan MacOS) - dan beberapa runtime untuk Node.js, Ruby, Elixir, dan banyak bahasa lainnya juga. Jadi jika Anda menemukan diri Anda menyulap versi hal-hal lain selain Python, Anda pasti ingin melihat asdf-vm.

Instal Python di MacOS dengan cara cerdas

MacOS secara tradisional dikirimkan dengan versi Python yang diinstal, tetapi tidak pernah lebih baru dari Python 2.7. Ini menimbulkan masalah ketika Python 3 tiba, karena kedua versi tersebut sering mengalami konflik. Dokumentasi resmi Python memiliki beberapa catatan untuk efek ini, tetapi tidak memberikan rekomendasi yang lebih rinci selain untuk memastikan Anda menggunakan jalur yang benar untuk instance Python yang Anda inginkan.

Cara umum untuk mengelola runtime Python di MacOS adalah melalui manajer paket Homebrew. Homebrew menyediakan antarmuka yang konsisten untuk mengunduh, menginstal, mengelola, dan menghapus Python dan aplikasi baris perintah pihak ketiga lainnya.

Instal paket Python dengan cara yang cerdas

Setelah Anda memiliki instalasi dasar dari versi Python yang disiapkan, jangan mulai menginstal paket langsung ke dalamnya dengan pip - tidak, bahkan jika Anda berencana menggunakan Python hanya untuk satu proyek. Siapkan direktori proyek Anda, instal lingkungan virtual Python ke dalamnya, lalu instal paket ke dalam lingkungan virtual tersebut. Dengan cara ini, penginstalan dasar tetap bersih.

Untuk cara tingkat tinggi dalam mengelola beberapa proyek dengan lingkungan virtual dan dependensi, lihat ke dalam proyek Puisi. Poetry menyediakan alat baris perintah untuk mengelola lingkungan virtual dan dependensi pada tingkat tinggi.

Instal beberapa versi Python secara berdampingan

Satu-satunya masalah tersulit saat menangani instalasi Python adalah bagaimana menangani berbagai versi Python yang diinstal secara berdampingan. Dua aturan umum berlaku di sini:

  • Selalu instal setiap versi di direktori yang berbeda.
  • Pastikan bahwa setiap jalur sistem dikonfigurasi untuk menunjuk terlebih dahulu ke versi yang ingin Anda jalankan secara default.

Menjalankan beberapa versi Python sangat mendukung lingkungan virtual per proyek. Ketika lingkungan virtual diaktifkan, semua aktivitas Python dalam konteks proyek secara otomatis diarahkan ke versi Python yang tepat, 

Opsi lain yang dimiliki pengguna Windows untuk mengontrol versi Python mana yang akan digunakan saat kelipatan diinstal adalah pyaplikasi peluncur. Selama penyiapan Python, Anda ditawari opsi untuk menginstal pypeluncur, sebuah executable kecil yang memungkinkan Anda memilih (melalui tanda baris perintah) versi Python mana yang akan digunakan untuk skrip tertentu. Misalnya, untuk menjalankan pipPython 3.7, Anda harus memasukkan  py -3.7 -m pip.

Tingkatkan Python dengan cara yang cerdas

Pembaruan revisi kecil untuk Python - misalnya, Python 3.7.2 ke Python 3.7.3 - umumnya cukup mudah. Di Windows, penginstal mendeteksi keberadaan versi yang ada dan meningkatkannya. Di Linux dan MacOS, penginstal atau pengelola paket biasanya melakukan hal yang sama.

Namun, lingkungan virtual apa pun yang Anda buat juga perlu ditingkatkan; mereka tidak meningkatkan secara otomatis. Untuk memutakhirkan Python di lingkungan virtual, cukup buka direktori lingkungan virtual dan masukkan  venv --upgrade. Sekali lagi, perhatikan bahwa ini berfungsi paling baik hanya untuk peningkatan revisi poin kecil - seperti Python 3.7.2 hingga Python 3.7.3.

Jika Anda melakukan peningkatan revisi poin utama, seperti Python 3.7 ke Python 3.8, taruhan terbaik Anda adalah menggunakan venvuntuk membuat subdirektori lingkungan virtual baru yang terpisah dalam direktori proyek, menginstal ulang semua dependensi ke dalamnya, dan beralih menggunakan lingkungan virtual baru. Sebagian besar IDE dengan dukungan Python (misalnya, Microsoft Visual Studio Code) akan mendeteksi beberapa lingkungan virtual dalam sebuah proyek dan memungkinkan Anda untuk beralih di antaranya.