Python : Installation de pip et autres pkg.py

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

Je tente une aventure avec Django et Django-CMS

J'ai l'impression qu'il y a pas mal de "débroussaillage" à faire
avant d'avoir une idée claire de la BONNE marche à suivre ...

À commencer par les bases de l'installation de Python,
car disposant des paquets dans la distro et de ceux provenant de Python...
.... C'est un peu la panade !

D'abord la doc de pip ( https://pip.pypa.io/en/latest/installing )
dit que pip est installé d'office pour Python 2 >=2.7.9 or Python 3 >=3.4
mais pas sous Debian.

Ailleurs, jai pu lire que le mix Python/distro est une mauvaise idée,
ça semble vrai :

J'ai par exemple tester :

Code : Tout sélectionner

# apt-get install python3-pip
suivi de :

Code : Tout sélectionner

$ pip3 install --upgrade pip
... ça m'a cassé mon PIP(3)


Pour le cas concret de Django(cms)
il est indiqué d'utiliser : virtualenv

qui — semble-t-il — crée un conteneur qui isole l'application de la config système
et dans lequel on devrait utiliser la version la plus récente de pip (sans autre intervention, j'espère)

Donc la question de base :

Doit-on,
Utiliser d'abord ce que fournit Debian
ou
n'installer que le minimum (ou rien) par Debian sans pip ?

et installer le pip le plus récent avec:

Code : Tout sélectionner

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

et ne plus se servir que de ce pip pour installer le reste des paquets pour python ?

Remarque :

Pour le moment je suis en stable sur une VM VirtualBox,
mais je compte (selon les résultats de mes tests) passer à la réalité...


Merci pour vos avis.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Salut dezix,

Quand on commence à toucher à pip et aux virtualenv, on casse souvent tout au début (je vois çca tous les jours avec des étudiants autour de moi). Pour répondre à ta question, il vaut mieux installer le strict minimum (virtualenv et python3), puis créer un virtualenv, et tout installer dans cet environnement.
Pour t'assurer de ne rien casser, n'exécute rien avec les droits root, à part l'installation de virtualenv et python3. Tout le reste doit être faisable avec les droits d'un simple utilisateur.

Les commandes complètes pour avoir un environnement avec Django (non testées, je n'ai pas de Debian sous la main):

Code : Tout sélectionner

# apt install python3 virtualenv # Seule commande à lancer avec les droits root
$ virtualenv -v venv # On crée un virtualenv (virtualenv install pip dans ce environnement)
$ source venv/bin/activate # On l'active
$ pip install django # L'installation de Djando ne se fait que dans cet environnement, et ne touche pas au système.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Dunatotatos

Merci pour cet éclairage net et précis

Bonne journée
@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

STP, Juste une précision :)

L'environnement virtuel reste-il viable sur un serveur réel ?
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Oui, tout à fait. Je déploie quelques dizaines de services écrits en flask ou Django sur un seul serveur, et chaque application a son propre environnement virtuel. Ça marche nickel, et tu peux trouver de nombreux tuto sur le net pour les faire fonctionner avec Apache ou nginx.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Que de bonnes nouvelles !

C'est parfait !

@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4903
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Tant que tu en ais à faire des découvertes, installe carrément un container!
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut Pirate,

oui, ça m'intéresse ... à quel conteneur fais-tu allusion ?
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Docker, le plus probablement. Personnellement, je te conseille de te familiariser d'abord avec les virtualenv, puis de regarder anaconda et son fameux "conda create", puis seulement les Dockers. C'est un autre niveau...
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Oui, soyons progressif, c'est plus réaliste
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4903
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

oui docker, le truc à la mode ...
je n'ai pas encore pris le temps d'en installer un pour voir.
Répondre