GNU/Linux >> Belajar Linux >  >> Linux

apt-get install untuk versi python yang berbeda

ubuntu 10.04 tidak memiliki paket python2.7. Anda harus membangun 2.7 sendiri. Saya memang membaca artikel tentang ubuntu merilis paket python2.7 ketika 12,04 keluar tetapi saya tidak yakin di mana lokasi repositorinya.

http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/

atau:

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python2.7

https://askubuntu.com/questions/101591/install-python-2-7-2-on-ubuntu-10-04-64-bit

pertanyaan ini memiliki banyak jawaban online.


pyenv

https://github.com/pyenv/pyenv

Pyenv memungkinkan Anda mengelola beberapa versi Python tanpa sudo untuk satu pengguna, seperti Node.js NVM dan Ruby RVM.

Instal Pyenv:

curl https://pyenv.run | bash

Kemudian tambahkan ke .bashrc Anda :

export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Temukan versi Python untuk dipasang:

pyenv install --list

Instal versi python yang Anda inginkan:

# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
  libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
  xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

# Build and install a Python version from source.
pyenv install 3.8.0

Cantumkan versi Python yang tersedia:

pyenv versions

Kami sekarang memiliki:

* system (set by /home/cirsan01/.pyenv/version)
  3.8.0

Pilih versi python yang berbeda:

pyenv global 3.8.0
python --version
python3 --version

Keduanya menghasilkan:

Python 3.8.0

Kami sekarang dapat melanjutkan untuk menginstal dan menggunakan paket secara normal:

pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'

Kami dapat mengonfirmasi bahwa semuanya terpasang secara lokal di lingkungan bersih kami dengan:

python -c 'import cowsay; print(cowsay.__file__)'

memberikan:

/home/ciro/.pyenv/versions/3.8.0/lib/python3.8/site-packages/cowsay/__init__.py

dan:

which cowsay

memberikan:

/home/ciro/.pyenv/shims/cowsay

dan:

which python

memberikan:

/home/ciro/.pyenv/shims/python

Per penggunaan proyek

Di bagian sebelumnya, kita melihat cara menggunakan pyenv dalam penyiapan global.

Namun, yang biasanya Anda inginkan adalah menyetel versi python dan paket tertentu berdasarkan proyek. Inilah cara melakukannya.

Pertama instal versi Python yang Anda inginkan seperti sebelumnya.

Kemudian, dari dalam direktori proyek Anda, setel versi python yang diinginkan dengan:

pyenv local 3.8.0

yang membuat file .python-version berisi string versi.

Dan sekarang mari instal paket secara lokal hanya untuk proyek kita:TODO:sepertinya tidak ada cara yang bagus:Pyenv pilih direktori virtualenv

Sekarang, ketika seseorang ingin menggunakan proyek Anda, mereka akan melakukan:

pyenv local

yang menyetel versi Python ke versi yang benar.

Utas terkait:

  • https://askubuntu.com/questions/682869/how-do-i-install-a-different-python-version-using-apt-get
  • https://unix.stackexchange.com/questions/9711/what-is-the-proper-way-to-manage-multiple-python-versions
  • apt-get install untuk versi python yang berbeda

Diuji pada Ubuntu 18.04, pyenv 1.2.15.


Python telah mendapatkan fasilitas pengelolaan paketnya sendiri, secara paralel dengan yang ditetapkan oleh distribusi Linux (termasuk Ubuntu). Repositorinya adalah Pypi - Python Package Index, dan paket diinstal dengan pip atau skrip easy_install, yang merupakan bagian dari paket setuptools Python.

Sebagai aturan praktis, Anda tidak boleh menggunakan kedua paket yang diinstal melalui pip/setuptools, dan paket yang tersedia untuk distro Anda (melalui apt-get, yum, urpmi, dll...) karena dapat menimbulkan konflik.

Jadi, salah satu cara yang kurang rawan kesalahan untuk mengatasinya adalah dengan menginstal Python terpisah di sistem Anda - tinggalkan python yang disertakan dengan sistem untuk skrip sistem dan semacamnya - pada python ini, manfaatkan paket yang diinstal oleh manajer paket Anda hanya. Dan instal versi lain dari Python (atau bahkan yang sama), untuk dijalankan dengan "virtualenv" - pada instalasi lain ini Anda menginstal sesuatu hanya dengan pip/setuptools.

(Dan bahkan jika seseorang memilih untuk hidup dengan berani dan tidak menggunakan virtualenvs, menginstal versi python lain dengan awalan yang sama (/usr , dan bahkan /usr/local ) daripada Python sistem Anda adalah sumber kesalahan dan konflik yang membingungkan).

Perhatikan bahwa sistem Debian - dan Ubuntu - menemukan cara untuk menjalankan Python resmi paralel di /usr, dan memiliki apt-get untuk menginstal paket Python ke kedua versi Python sekaligus. Ini sebagian besar berfungsi, tetapi mereka mengacaukan hierarki direktori default Python, dan beberapa aplikasi gagal menggunakan Python dengan cara ini. (Ini juga berantakan untuk menemukan file modul itu sendiri di Debian atau Ubuntu). Jadi metode di atas berlaku sebagai rekomendasi bahkan jika sistem Anda memiliki lebih dari satu versi Python yang tersedia di apt-get.

Singkatnya, setelah Anda mengkompilasi versi Python yang Anda inginkan, lakukan ini:

  1. gunakan pengelola paket sistem Anda untuk menginstal "python-setuptools" dan "python-virtualenv" (tidak yakin apakah ini adalah nama paket sebenarnya).
  2. Gunakan virtualenv untuk membuat lingkungan tempat Anda akan menggunakan versi Python yang berbeda
  3. Aktifkan virtualenv Anda, dan instal paket Python menggunakan pip di atasnya.

Virtualenv menampilkan sakelar "--help" untuk membantu Anda, tetapi pada dasarnya Anda melakukannya:

$ virtualenv -p <path-to-python-interpreter>  <environment-dir>
$ source <environment-dir>/bin/activate

Dan begitulah - semua hal yang menggunakan Python akan "melihat" juru bahasa di virtualenv, karena set variabel lingkungan.


Linux
  1. Cara menginstal Python di Linux Mint 20

  2. Cara Menginstal Python 3.10 di Rocky Linux 8

  3. Instal tkinter untuk Python

  1. Buat lingkungan virtual untuk versi Python yang berbeda menggunakan Conda

  2. Jalankan beberapa versi PHP untuk domain yang berbeda di NGNIX

  3. Cara Menginstal Pip di Ubuntu – Manajer Paket untuk Python

  1. Cara Menginstal dan Beralih Versi Python di Ubuntu 20.04

  2. Instal python-novaclient di Windows

  3. modul python bz2 hilang