GNU/Linux >> Tutoriels Linux >  >> Linux

apt-get install pour différentes versions de python

Ubuntu 10.04 n'a pas de package python2.7. Vous devez construire vous-même la version 2.7. J'ai lu un article sur Ubuntu publiant un package python2.7 lors de la sortie de 12.04, mais je ne suis pas sûr de l'emplacement du référentiel.

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

ou :

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

cette question a beaucoup de réponses en ligne.


pyenv

https://github.com/pyenv/pyenv

Pyenv vous permet de gérer plusieurs versions de Python sans sudo pour un seul utilisateur, un peu comme Node.js NVM et Ruby RVM.

Installer Pyenv :

curl https://pyenv.run | bash

Ajoutez ensuite à votre .bashrc :

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

Trouver la version de Python à installer :

pyenv install --list

Installez la version python souhaitée :

# 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

Répertorier les versions Python disponibles :

pyenv versions

Nous avons maintenant :

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

Sélectionnez une autre version de Python :

pyenv global 3.8.0
python --version
python3 --version

Les deux sorties :

Python 3.8.0

Nous pouvons maintenant procéder à l'installation et à l'utilisation des packages normalement :

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

Nous pouvons confirmer que tout est installé localement dans notre environnement propre avec :

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

donne :

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

et :

which cowsay

donne :

/home/ciro/.pyenv/shims/cowsay

et :

which python

donne :

/home/ciro/.pyenv/shims/python

Utilisation par projet

Dans la section précédente, nous avons vu comment utiliser pyenv dans une configuration globale.

Cependant, ce que vous voulez généralement, c'est définir une version spécifique de python et de package pour chaque projet. Voici comment procéder.

Installez d'abord votre version Python souhaitée comme avant.

Ensuite, depuis le répertoire de votre projet, définissez la version de python souhaitée avec :

pyenv local 3.8.0

qui crée un fichier .python-version contenant la chaîne de version.

Et maintenant, installons un paquet localement juste pour notre projet :À FAIRE :il n'y a pas de bonne façon, semble-t-il :Pyenv choisit le répertoire virtualenv

Désormais, si quelqu'un veut utiliser votre projet, il le fera :

pyenv local

qui définit la version de Python sur la bonne.

Discussions associées :

  • 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 pour différentes versions de python

Testé sur Ubuntu 18.04, pyenv 1.2.15.


Python dispose de ses propres fonctionnalités de gestion de packages, parallèles à celles définies par les distributions Linux (dont Ubuntu). Le référentiel est le Pypi - Python Package Index, et les packages sont installés avec pip ou le script easy_install, qui fait partie du package setuptools de Python.

En règle générale, vous ne devez pas utiliser à la fois les packages installés via pip/setuptools et les packages disponibles pour votre distribution (via apt-get, yum, urpmi, etc.), car ils pourraient entrer en conflit.

Ainsi, l'un des moyens les moins sujets aux erreurs est d'avoir des installations Python séparées dans votre système - laissez le python fourni avec le système pour les scripts système et autres - sur ce python, utilisez les packages installés par votre gestionnaire de packages seulement. Et installez d'autres versions de Python (ou même les mêmes), à exécuter avec des "virtualenv" - sur ces autres installations, vous installez des choses avec pip/setuptools uniquement.

(Et même si l'on choisit de vivre hardiment et de ne pas utiliser virtualenvs, installer une autre version de python sur le même préfixe (/usr , et même /usr/local ) que Python de votre système est une source d'erreurs et de conflits déroutants).

Notez que les systèmes Debian - et Ubuntu - ont conçu un moyen d'exécuter des Python officiels parallèles dans /usr et d'avoir apt-get pour installer les packages Python sur les deux versions de Python à la fois. Cela fonctionne généralement, mais ils perturbent la hiérarchie de répertoires par défaut de Python, et certaines applications ne parviennent pas à utiliser Python de cette manière. (C'est aussi un gâchis de trouver les fichiers du module eux-mêmes dans une Debian ou Ubuntu). Ainsi, la méthode ci-dessus s'applique en tant que recommandation même si votre système dispose de plusieurs versions de Python disponibles sur apt-get.

En bref, une fois que vous avez compilé la version souhaitée de Python, procédez comme suit :

  1. utilisez le gestionnaire de packages de votre système pour installer "python-setuptools" et "python-virtualenv" (vous ne savez pas s'il s'agit des noms de packages réels).
  2. Utilisez virtualenv pour créer un environnement à partir duquel vous utiliserez vos différentes versions de Python
  3. Activez votre virtualenv et installez les packages Python en utilisant pip dessus.

Virtualenv comporte un commutateur "--help" pour vous aider, mais vous le faites essentiellement :

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

Et voilà - toutes les choses utilisant Python "verront" l'interpréteur dans le virtualenv, en raison du jeu de variables d'environnement.


Linux
  1. Créer un environnement virtuel pour différentes versions de Python à l'aide de Conda

  2. Exécutez plusieurs versions de PHP pour différents domaines dans NGNIX

  3. Comment installer Python sur Linux Mint 20

  4. Comment installer et changer de version de Python sur Ubuntu 20.04

  5. Installer tkinter pour Python

Comment installer Python 3 sur Windows 10

Installer python 3 sur Redhat 8

Comment installer Setuptools pour Python sur Linux

Installer PIP pour Python 3 dans CentOS 8

Comment installer différentes versions de PHP (5.6, 7.x et 8.0) dans Ubuntu

Comment installer Python PIP sur Ubuntu 18.04