Bagaimana saya bisa menginstal versi Python yang berbeda menggunakan apt-get?
Jelas saya menyadari bahwa saya dapat menginstal menggunakan source tar ball, namun saya lebih memilih untuk tidak menginstal dari sumber dan alih-alih menggunakan manajer paket, karena itulah gunanya. Tentunya suatu tempat yang memiliki reputasi membangun file .deb untuk rilis Python terbaru (mengapa python.org tidak ada di luar saya) yang dapat saya referensi.
Apa yang harus saya lakukan untuk referensi mereka dan masalah apa yang mungkin terjadi ketika meningkatkan ke versi berikutnya?
Jika tidak ada cara selain membangun dari sumber, apakah ada paket (semu) yang dapat saya instal yang akan menyediakan semua dependensi yang diperlukan tanpa harus menemukan dan menginstal masing-masing secara individual? Jadi saya tidak mendapatkan:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
sumber
E: Couldn't find any package by regex 'python3.5'
dan gagal menginstal melaluiapt-get install python3.5
?Jawaban:
Felix Krull menjalankan PPA yang menawarkan pada dasarnya semua versi Python (serius, ada versi 2.3.7 untuk vivid ...) untuk banyak rilis Ubuntu di https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa .
Lakukan yang biasa:
Ini tidak akan menimpa yang ada
python3.4
yang masih disinkronkan sebagaipython3
.JANGAN ubah symlink! Tampaknya ada banyak fungsi sistem yang tidak berfungsi dengan baik dengan python3.5.
Saya mencoba ini dan kemudian tidak dapat membuka terminal, pembaruan perangkat lunak, ...
Upgrade ke Wily akan mengadaptasi paket meta
python3
untuk menunjukpython3.5
. Saya tidak mengharapkan kerusakan, tetapi pada saat ini repositori asing tidak diperlukan lagi. Jadi agar benar-benar aman, Anda dapat membersihkan PPA sebelum melakukan upgrade.sumber
wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.py
memberi saya pip yang berfungsi untuk python 3.5 tetapi pip3.4 tidak berfungsi lagi. Jika ada yang tahu lebih baik, silakan berkomentar~$ vim ~/.bashrc
dan menambahkan inialias python=python3.5
. lalu~$source ~/.bashrc
add-apt-repository: command not found
, jalankanapt-get install software-properties-common python-software-properties
untuk menginstalTautan Youtube ini membantu saya menginstalnya.
Langkah-langkahnya adalah:
Untuk memeriksa apakah python diinstal, ketikkan yang
python3.5
lain:sumber
./configure --enable-optimizations
stackoverflow.com/questions/41405728/...apt-get install build-essential
Ikuti saja langkah-langkah itu (diuji):
Langkah 1 - Instal Paket yang Diperlukan
Gunakan perintah berikut untuk menginstal prasyarat untuk Python sebelum menginstalnya.
Langkah 2 - Unduh Python 3.5.2
Unduh Python menggunakan perintah berikut dari situs resmi python. Anda juga dapat mengunduh versi terbaru menggantikan yang ditentukan di bawah ini.
Sekarang ekstrak paket yang diunduh.
Langkah 3 - Kompilasi Sumber Python
Gunakan set perintah di bawah ini untuk mengkompilasi kode sumber python pada sistem Anda menggunakan altinstall.
make altinstall
digunakan untuk mencegah penggantian file biner python default/usr/bin/python
.Langkah 4 - Periksa Versi Python
Periksa versi terbaru yang diinstal python menggunakan perintah di bawah ini.
Sumber .
sumber
sudo apt-get install libffi-dev
untuk menyelesaikannya.sudo apt-get install liblzma-dev
untuk mengaktifkan dukungan lzma.Sejauh yang saya tahu, setidaknya dalam wadah buruh pelabuhan, seseorang dapat secara pasti
apt-get
python 3.Pertama saya bertemu dengan wadah ubuntu dengan wadah:
maka untuk beberapa alasan diperlukan untuk memperbarui beberapa hal ubuntu jadi saya lakukan (di dalam wadah):
dan kemudian saya cukup menginstal python3 dan sepertinya secara otomatis mendapat python 3.5:
dan untuk menguji apakah pip berfungsi, mari unduh sesuatu:
semua sepertinya bekerja dengan baik untuk saya.
Catatan Penting: tampaknya jika Anda sudah menginstal python 3.4 maka
apt-get install python3
tidak berfungsi karena dikatakan Anda sudah memilikinya. Tampaknya itu adalah salah satu masalah saya karena saya mulai dari gambar buruh pelabuhan dari tensorflow (khususnyagcr.io/tensorflow/tensorflow:latest-devel-py3
) dan sesuatu di gambar itu (saya berasumsi bahwa mereka sudah memiliki python 3.4 tetapi mungkin sesuatu yang lain) tidak memungkinkan saya untuk memperbarui python saya untuk mendapatkan python 3.5.kredit: Saya menemukan ini ketika saya menanyakan hal berikut: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-of-the -tensorflow-docker
Catatan: Anda juga bisa menginstal Anaconda. Sebagai contoh buruh pelabuhan dapat dilakukan:
dari situs web resmi mereka: https://hub.docker.com/r/continuumio/anaconda3/
Solusi ini menginstal python 3.6 tetapi saya yakin jika Anda melihatnya di sana Anda bisa mendapatkan python 3.5 jika itu yang Anda inginkan.
Catatan: Anda mungkin harus menggunakan lingkungan virtual seperti virtual env atau conda / anaconda kecuali Anda menggunakan buruh pelabuhan. Hanya ingin mengingatkan orang.
sumber
Ada sejumlah distribusi python baru yang tersedia untuk diinstal melalui apt-get yang tercantum dalam Paket Ubuntu
sebagai contoh, versi berikut saat ini tersedia:
python2.7
python3.2
python3.4
python3.5
python3.6
Ketersediaan bervariasi dengan rilis Ubuntu ke tingkat tertentu. Misalnya 3.5 tersedia untuk Xenial, Yakkety, dan Zesty dan 3.6 tersedia untuk Yakkety dan Zesty tetapi Anda harus mengaktifkan repositori Universe jika tidak diaktifkan untuk mendapatkannya melalui apt-get. Untuk memeriksa ketersediaan untuk versi Ubuntu Anda, periksa tautan di atas.
Mengintip cepat menunjukkan bahwa jawaban ini juga masih berlaku karena PPA memiliki 3,6 bahkan untuk Trusty.
sumber
Saya akan mempertimbangkan menggunakan lingkungan virtual daripada menginstal versi python melalui apt-get.
Menggunakan lingkungan virtual, lihat di sini, adalah praktik yang baik untuk dikembangkan dengan python. Mereka membiarkan Anda mengisolasi lingkungan python Anda dari versi sistem yang diinstal python.
Selain itu, Anda tidak harus mendapatkan akses sudo saat memasang pustaka apa pun (via pip, dll.).
sumber
virtualenv -p
. Tapi itu meledak dengan "ImportError: tidak dapat mengimpor nama 'HTTPSHandler'".Conda secara aktif diperbarui dan memungkinkan Anda untuk menginstal beberapa versi python di venvs yang dikelola tanpa kebosanan mengatur semuanya sendiri. Masalah jalur ekstensi biner mungkin telah diselesaikan di banyak ketergantungan / rantai pip yang dikelola anaconda yang digunakannya.
sumber