Tiga langkah menggunakan Python 3.5 oleh Koleksi Perangkat Lunak :
sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash
Perhatikan bahwa sudo tidak diperlukan untuk perintah terakhir. Sekarang kita dapat melihat bahwa python 3 adalah default untuk shell saat ini:
python --version
Python 3.5.1
Cukup lewati perintah terakhir jika Anda lebih suka memiliki Python 2 sebagai default untuk shell saat ini.
Sekarang katakanlah bahwa skrip Python 3 Anda memberi Anda kesalahan seperti /usr/bin/env: python3: No such file or directory
. Itu karena instalasi biasanya dilakukan ke jalur yang tidak biasa:
/opt/rh/rh-python35/root/bin/python3
Di atas biasanya akan menjadi symlink. Jika Anda ingin python3
ditambahkan secara otomatis ke $PATH
untuk semua pengguna saat startup, salah satu cara untuk melakukannya adalah menambahkan file seperti:
sudo vim /etc/profile.d/rh-python35.sh
Yang akan memiliki sesuatu seperti:
#!/bin/bash
PATH=$PATH:/opt/rh/rh-python35/root/bin/
Dan sekarang setelah reboot, jika kita lakukan
python3 --version
Seharusnya berfungsi. Satu pengecualian adalah pengguna yang dibuat secara otomatis seperti "jenkins" di server Jenkins yang tidak memiliki shell. Dalam hal ini, secara manual menambahkan path ke $PATH
dalam skrip akan menjadi salah satu cara untuk pergi.
Terakhir, jika Anda menggunakan sudo pip3
untuk menginstal paket, tetapi memberitahu Anda bahwa pip3 tidak dapat ditemukan, bisa jadi Anda memiliki secure_path di / etc / sudoers . Memeriksa dengan sudo visudo
harus mengonfirmasi hal itu. Untuk sementara menggunakan PATH standar saat menjalankan perintah yang dapat Anda lakukan, misalnya:
sudo env "PATH=$PATH" pip3 --version
Lihat pertanyaan ini untuk lebih jelasnya.
CATATAN : Ada Python 3.6 yang lebih baru oleh Software Collections, tetapi saya tidak akan merekomendasikannya saat ini, karena saya mengalami sakit kepala besar saat mencoba menginstal Pycurl. Untuk Python 3.5 itu bukan masalah karena saya baru saja melakukannya sudo yum install sclo-python35-python-pycurl
yang berhasil.