Python : Installation de pip et autres pkg.py

Tout ce qui concerne la programmation.
Répondre
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 11:31

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.
Debian testing - SparkyLinux - XFCE
Avatar du membre
Dunatotatos
Membre
Membre
Messages : 392
Enregistré le : 11 mai 2016, 20:56
Localisation : Arabie Saoudite
Status : Hors ligne

26 nov. 2018, 13:37

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.
Never trust Windows output.
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 13:42

Dunatotatos

Merci pour cet éclairage net et précis

Bonne journée
@+
Debian testing - SparkyLinux - XFCE
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 13:45

STP, Juste une précision :)

L'environnement virtuel reste-il viable sur un serveur réel ?
Debian testing - SparkyLinux - XFCE
Avatar du membre
Dunatotatos
Membre
Membre
Messages : 392
Enregistré le : 11 mai 2016, 20:56
Localisation : Arabie Saoudite
Status : Hors ligne

26 nov. 2018, 14:32

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.
Never trust Windows output.
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 14:48

Que de bonnes nouvelles !

C'est parfait !

@+
Debian testing - SparkyLinux - XFCE
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 2715
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

26 nov. 2018, 14:52

Tant que tu en ais à faire des découvertes, installe carrément un container!
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 14:54

Salut Pirate,

oui, ça m'intéresse ... à quel conteneur fais-tu allusion ?
Debian testing - SparkyLinux - XFCE
Avatar du membre
Dunatotatos
Membre
Membre
Messages : 392
Enregistré le : 11 mai 2016, 20:56
Localisation : Arabie Saoudite
Status : Hors ligne

26 nov. 2018, 15:01

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...
Never trust Windows output.
Avatar du membre
dezix
Membre
Membre
Messages : 309
Enregistré le : 04 juin 2016, 14:50
Status : Hors ligne

26 nov. 2018, 15:04

Oui, soyons progressif, c'est plus réaliste
Debian testing - SparkyLinux - XFCE
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 2715
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

26 nov. 2018, 15:42

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