Saya ingin menginstal tarball Python terbaru di Ubuntu, diunduh dari http://python.org/download/ .
Apakah ini cara yang benar untuk menginstal?
./configure
make
make install
Jika tidak, bagaimana saya melakukannya?
software-installation
python
mohammad
sumber
sumber
sudo apt-get install python-2.7 python-pip
sudo apt-get install python2.7
. Ini bukan hanya lebih mudah, itu satu-satunya jawaban yang benar, karena itu satu-satunya cara Anda akan dapat menangani menginstal modul python melalui apt-get dan dependensinya pada gilirannya.Jawaban:
Pertama, instal beberapa dependensi:
Kemudian unduh menggunakan perintah berikut:
Ekstrak dan buka direktori:
Sekarang, instal menggunakan perintah yang baru saja Anda coba, gunakan
checkinstall
untuk membuatnya lebih mudah untuk dihapus jika diperlukan:Ubah
version
ke versi mana pun yang Anda butuhkan (version=2.7.1
atauversion=3.6.0
, misalnya).sumber
sudo make install
dan janganaltinstall
setel sebagai versi python defaultCXX=g++ ./configure
jika ./configure mengeluarkan peringatan yang mengatakan g ++ tidak ditemukansudo apt-get install python
, jawaban yang lebih rumit adalah "bagaimana menginstal python terbaru ", implikasinya adalah "dari sumber". Anda akan memiliki masalah yang sama pada OS apa pun kecuali Anda menginstal binari yang telah dikompilasi dari pihak ke-3, yang, sekali lagi, berisiko pada OS apa pun (dan sangat bervariasi di berbagai OS). Juga jawaban ini dari 2012; untuk saran terbaru, lihat askubuntu.com/questions/101591/…Kecuali jika Anda benar-benar memiliki keinginan untuk mengkompilasinya sendiri, cara yang disukai adalah menggunakan DeadSnakes PPA untuk menginstal versi Python yang tidak disertakan secara default:
Versi lain, seperti
python2.4
ataupython3.6
, dll. Juga tersedia.sumber
really have a burning desire to compile it yourself
ppa
tidak secara resmi disetujui, jadi cara paling aman adalah membangun dari sumber. 2. ini akan menghasilkan python global, yang non-sudo
ers tidak dapat memodifikasi atau menginstal paket, bukan yang lokal. 3. Beberapa ular sanca dapat diinstal secara lokal di lokasi yang berbeda dengan membangun dari sumber.apt-get install python2.7
Ini menginstal biner python2.7 bukannya python ... jelek !!Melanjutkan mendokumentasikan ini untuk rilis Ubuntu terbaru 1 : untuk server Ubuntu 16.04.1, Python default adalah versi 3.5, dan Python 2.7 tidak diinstal secara default. Pada pemasangan baru (perhatikan bahwa tidak ada yang
python
dapat dieksekusi):Catatan: sebelum melanjutkan, Anda mungkin ingin melakukan yang cepat
sudo apt-get update
,,sudo apt-get upgrade
dansudo apt-get dist-upgrade
(harap dicatat dengan tepat apa yang sebenarnya dilakukan perintah-perintah ini; Saya mengasumsikan instalasi baru di sini.)Memasang python 2.7 semudah:
Output awal menginstal python 2.7 adalah sebagai berikut:
Setelah menginstal python 2.7,
Tetapi masih ada masalah, karena Anda belum dapat menginstal modul PyPI melalui
pip
- misalnya, jika Anda ingin notebook jupyter, atau scipy atau numpy terbaru (dll), Anda ingin menginstalpip
dan kemudianpip install
itu, dan masih beralih keapt-get
untuk menginstal semua dependensi sistem yang diperlukan , seperti graphviz atau pustaka sistem inti.Jadi untuk menginstal pip, sekali lagi, semudah
sudo apt-get install python-pip
:Anda membutuhkan keduanya
python-pip
untuk Python 2.7pip
danpython3-pip
untuk Python 3pip
. Instalasi viaapt-get
yakin untuk menginstal dependensi yang diperlukan; misal, ini output untuk menginstal pip2:Hal yang menarik terjadi sebagai akibat dari ini: Anda sekarang memiliki "standar" (dan direkomendasikan PEP)
python2
danpython3
(yang hanya symlink ke python 2.7 dan python 3.5):Anda juga ingin
sudo apt-get install python3-pip
; sebelum Anda menginstal, Anda harus:Setelah menginstal
pip3
,Versi yang dihasilkan:
Dan satu hal terakhir sebelum Anda dapat pergi dan mulai menginstal semua python python modul favorit Anda: Anda mungkin harus meng-upgrade pip itu sendiri (baik pip2 dan pip3, secara terpisah; juga, tidak masalah jika
pip
dipanggil melaluipython
executables ataupip
dapat dieksekusi, pemutakhiran aktual disimpan di/usr/lib
):Anda sekarang dapat menjalankan versi yang berdiri sendiri
pip
atau yang dibundel dalampython
(viapython -m pip {command}
).[1] Rekap historis: Ubuntu yang lebih lama hanya memiliki Python 2.6, dengan demikian semua berbagai metode untuk menginstal Python 2.7+. Kemudian, setelah Python 2.7 ditambahkan ke repositori publik, kami masih memiliki tantangan yang sama untuk menginstal Python 2.7 terbaru dengan perbaikan terbaru, yang (terlalu) sering diperlukan. Situasi hari ini jauh lebih baik / sederhana: Python 2.7 & 3.5 saat ini (pada dasarnya hanya dua versi platform Python yang orang pedulikan) yang sekarang ada di repo publik sangat stabil, jadi sekarang kita benar-benar hanya perlu khawatir tentang menginstal yang terbaru modul python , bukan python terbaru . Jadi sekarang Python "masalah versi terbaru" telah berpindah sebagian dari repo OS &
apt
dan ke PyPI &pip
.)sumber
$PATH
. Env varPATH
adalah daftar panjang direktori dengan ribuan file di dalamnya. Untuk mempercepat menemukan executable, shell menggunakan hashtable cache untuk pencarian cepat. Itu bisa menjadi basi, jadi "hash" membuat Anda tahu bahwa itu "diingat" perintah ini dipetakan ke file yang dapat dieksekusi itu unix.stackexchange.com/questions/5609/…pip
(2.7) &pip3
(3.x) telah sepenuhnya diinstal / ditingkatkan, dan bukan hanya yang pertama - yaitu,sudo apt-get install python-pip python3-pip
dansudo -H python2 -m pip install --upgrade pip
dansudo -H python3 -m pip install --upgrade pip
... Atau jika itu benar-benar merupakan masalah izin (ditunjukkan oleh "berfungsi dengan" sudo "), maka akan sedikit lebih sulit untuk dilacak.12,04
Jika Anda mengikuti jawaban Achu , maka istilah tersebut
libread5-dev
harus diubah menjadilibreadline-gplv2-dev
. Jadi perintah lengkapnya adalah:sumber
Anda juga dapat mengunduh dan menginstalnya melalui pyenv
sumber
pyenv-virtualenv
plugin, membuatnya mudah untuk menginstal aplikasi dengan berbagai persyaratan modul tanpa bentrokan.bash --login
), Yang tidak selalu mudah dicapai misalnya dari Ansible. Terbaik untuk penggunaan interaktif, kurang baik untuk server skrip.Sebagian besar cermin dari jawaban ini dengan intro tweak
Saya akan merekomendasikan pyenv . Ini mengotomatiskan proses build selain dari menginstal dependensi header (lihat di bawah). Anda dapat membangun dan menginstal versi Python baru (atau lama) hanya dengan mengatakan
pyenv install 3.6.0
. Semuanya berjalan sebagai pengguna Anda, jadi Anda tidak perlu khawatir mengacaukan Python yang digunakan oleh Ubuntu itu sendiri.Berbeda dengan beberapa opsi berbasis apt-repo (misalnya deadsnakes), umumnya akan bekerja pada hari yang sama setelah rilis
pyenv update
karena Anda tidak perlu menunggu orang lain untuk mengemasnya. Lihat semua versi yang dapat Anda instalpyenv install --list
Instal pyenv
Instal alat dan tajuk yang diperlukan untuk membuat CPythons (Python eksotis seperti PyPy atau Jython mungkin memiliki dependensi lain). Git digunakan oleh pyenv, plus itu juga memungkinkan build / install cabang sumber, sehingga Anda dapat menginstal apa pun yang 3.8 sekarang, yaitu cabang master dari CPython yang baru lepas dari GitHub:
Jalankan skrip penginstal (instal pyenv dan beberapa plugin pyenv yang sangat berguna oleh penulis asli; lihat di sini untuk informasi lebih lanjut)
Tambahkan baris init ke
~/.profile
atau Anda~/.bashrc
(menyebutkannya di akhir skrip instal):Mulai ulang shell Anda (tutup & buka atau
exec $SHELL
) atau muat ulang skrip profil. (dengan misalnyasource ~/.bashrc
)Selesai!
Menyiapkan lingkungan
Untuk tidak menyentuh sistem Python (umumnya ide yang buruk; layanan tingkat OS mungkin mengandalkan beberapa versi perpustakaan tertentu, dll.) Buat lingkungan Anda sendiri, mudah! Bahkan lebih baik, tidak
sudo
, untuk itu ataupip
menginstal!Instal versi Python pilihan Anda (ini akan mengunduh sumber dan membangunnya untuk pengguna Anda, tidak perlu input)
Jadikan virtualenv sehingga Anda bisa membuat orang lain nanti jika mau
Jadikan global aktif (untuk pengguna Anda)
Lakukan apa yang Anda inginkan dengan Python / pip, dll. Ini milik Anda.
Jika Anda ingin membersihkan perpustakaan Anda nanti, Anda bisa menghapus virtualenv (
pyenv uninstall general
) atau membuat yang baru (pyenv virtualenv 3.6.0 other_proj
). Anda juga dapat memiliki lingkungan yang aktif per-direktori:pyenv local other_proj
akan menjatuhkan.python-version
file ke folder Anda saat ini dan setiap kali Anda memanggil Python atau utilitas Python yang dipasang dari situ atau di bawahnya, mereka akan digerogoti oleh pyenv.Penyelesaian masalah
bash: pyenv: command not found
,fish: Unknown command 'pyenv'
$PATH
, harus ada satu entri yang berakhir dengan sesuatu seperti.pyenv/bin
. Jika tidak ada pastikan Anda mengikuti # 3 DAN # 4 (restart shell Anda) di bawah Instal pyenv di atas.pyenv: no such command 'virtualenv'
pyenv commands
.sumber