Manajer Paket - tingkat pengguna
Untuk manajer paket yang dapat menginstal dan mengelola beberapa versi python, ini adalah pilihan yang bagus:
- pyenv - hanya dapat menginstal dan mengelola versi python
- asdf - dapat menginstal dan mengatur berbagai bahasa
Keuntungan dari manajer paket ini adalah mungkin lebih mudah untuk mengaturnya dan menginstal beberapa versi python dengan mereka daripada menginstal python dari sumbernya. Mereka juga menyediakan perintah untuk dengan mudah mengubah versi python yang tersedia menggunakan shims dan mengatur versi python per-direktori.
Kerugian ini adalah, secara default, mereka diinstal di tingkat pengguna (di dalam direktori home Anda) dan memerlukan sedikit konfigurasi tingkat pengguna - Anda harus mengedit file Anda ~/.profiledan ~/.bashrcatau yang serupa. Ini berarti tidak mudah menggunakannya untuk menginstal beberapa versi python secara global untuk semua pengguna. Untuk melakukan ini, Anda dapat menginstal dari sumber bersamaan dengan versi python OS yang ada.
Instalasi dari sumber - seluruh sistem
Anda membutuhkan hak akses root untuk metode ini.
Lihat dokumentasi resmi python untuk membangun dari sumber untuk pertimbangan dan opsi tambahan.
/usr/localadalah lokasi yang ditentukan bagi administrator sistem untuk menginstal perangkat lunak bersama (seluruh sistem), jadi subdirektorinya adalah tempat yang baik untuk mengunduh dan menginstal sumber python. Lihat bagian 4.9 dari Standar Hierarki File Linux Foundation .
Instal dependensi build apa pun. Pada sistem berbasis Debian, gunakan:
apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
Pilih versi python mana yang ingin Anda instal. Lihat halaman Rilis Sumber Python untuk daftar.
Unduh dan unzip file /usr/local/src, ganti di X.X.Xbawah ini dengan versi python (yaitu 3.8.2).
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
Sebelum membuat dan menginstal, setel CFLAGSvariabel lingkungan dengan tanda compiler C yang diperlukan (lihat makedokumentasi GNU ). Ini biasanya tidak diperlukan untuk penggunaan umum, tetapi jika, misalnya, Anda akan membuat plugin uWSGI dengan versi python ini, Anda mungkin ingin menyetel flag -fPIC, dengan yang berikut:
export CFLAGS='-fPIC'
Ubah direktori kerja ke direktori sumber python yang telah dibuka ritsletingnya, dan konfigurasikan build. Anda mungkin ingin menggunakan --enable-optimizationsopsi pada ./configureperintah untuk pengoptimalan terpandu profil . Gunakan --prefix=/usr/localuntuk menginstal ke subdirektori yang tepat ( /usr/local/bin, /usr/local/lib, dll).
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
Bangun proyek dengan makedan instal dengan make altinstalluntuk menghindari menimpa file apa pun saat menginstal beberapa versi. Lihat peringatan di halaman dokumentasi build python ini.
make -j 4
make altinstall
Kemudian Anda harus dapat menjalankan versi python dan pip baru Anda dengan pythonX.Xdan pipX.X(yaitu python3.8dan pip3.8). Perhatikan bahwa jika versi minor dari instalasi baru Anda sama dengan versi OS (misalnya jika Anda menginstal python3.8.4 dan OS menggunakan python3.8.2), maka Anda perlu menentukan seluruh jalur ( /usr/local/bin/pythonX.X) atau menyetel alias untuk menggunakan versi ini.