Installer un environnement de développement python avec conda

a marqué ce sujet comme résolu.

Tout le monde se secoue ! :D

J'ai commencé (début juillet 2016) la rédaction d'un tutoriel au doux nom de « Installer un environnement de développement python avec conda » et j'ai dans l'objectif de proposer en validation un texte aux petits oignons. Je fais donc appel à votre bonté sans limite pour dénicher le moindre pépin, que ce soit à propos du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à l'adresse suivante :

Merci !


Bonjour,

Le but de ce tuto est de s'inscrire dans d'autres tutos python de programmation scientifique en particulier. Il se doit donc d'être court, lisible, qu'on sente bien qu'il est possible de s’arrêter au milieu si on a un environnement qui nous suffit.

Le public visé est sensé savoir installer lire des instructions d'installation et faire clic-clic-clic (on parle de faire de la programmation scientifique, quand même…).

Le tuto se veut générique, dans le sens où il doit pouvoir être utilisé par n'importe quel autre tuto de programmation python non-débutant (voir débutant ?) à la place d'une section « installation » chiante à écrire, et toujours identique (ou alors on recompile numpy, et s'est alors très chiant à écrire, et une catastrophe en lisibilité).

Je ne souhaite pas en dire plus que ce qui est écrit là, sauf si vous avez une bonne raison que ce soit fait. :)

Normalement, des retours sur la forme, qui ne devrait plus trop bouger, sont déjà possible. Mais je suis peut-être un peu optimiste. :D

Bonne lecture.

+2 -0

Est-ce un équivalent à pip ?

Non, ils sont complémentaires (pas d'environnement virtuel chez pip, paquet binaires chez conda).

quelle sont ses avantages ?

Essaye d'installer numpy avec pip. Tu risques de galérer un peu. Je l'ai fait en moins de 5 minutes chrono en main avec conda. Mais il y a moins de paquet. Mais comme on peut utiliser les deux en même temps (typiquement, conda pour la base, python, numpy… et pip pour les petites bibliothèques en plus).

Est ce que la communauté est large ?

C'est soutenu par une entreprise (mais libre), mais je ne doute pas que si elle ferme, la communauté reprenne le truc.

Tu aurais des retours d’expériences.

Je recommande systématiquement anaconda (ce qui revient à lire moins d'un tiers du tutoriel) aux windowsiens voulant faire du python scientifique. Ça marche sans problème, et ça reste le plus pratique. Je l'ai personnellement utilisé sur des serveurs (miniconda dans ce cas-là, il faut lire le deuxième tiers du tutoriel) car leur version de numpy était antédiluvienne (voir tout en python2), … Et ça marche très bien.

Pour les environnements virtuels, je m'en sers vite fait pour tester les versions récentes en m'assurant de ne rien casser du reste. Mais ça reste un usage très basique, trop pour faire un vrai retour.

+0 -0

Penses-tu qu'une explication plus détaillée sur la notion de paquet a sa place ici ? Personnellement, je me demande toujours ce qu'il se passe quand je rentre conda install xxx. Autant avec pip il me semble que c'est assez simple (ça revient je crois à cloner le dépôt git et à exécuter le setup.py), autant conda paraît plus compliqué, à l'image des gestionnaires de paquets "généraux" (apt-get, yum, pacman, etc.).

+0 -0

Bof… Ça se contente de décompresser les binaires dans le sous-dossier bin d'installation, les bibliothèques dans lib… Ça travaille uniquement dans le dossier d'installation, ça ne touche pas au système (d'ailleurs, pas besoin d'être admin). C'est un peu comme un gestionnaire de paquet "général", avec gestion des dépendances et tout le tintouin, mais comme ça ne touche pas le système, ça ne fait rien d'extraordinaire ou de bien exotique.

Si on s'intéresse plus profondément à ça, il y a la doc pour faire un paquet conda.

+0 -0

Salut,

Le tutoriel est enfin là, et c’est un dîner tutoriel presque parfait. Il est court, efficace et donc remplit bien sa fonction.

Par contre, selon moi, il faudrait utiliser « python » lorsqu’on parle de la commande et « Python » (avec une majuscule) sinon.

+0 -0

Le tutoriel est enfin déjà

Corrigé. :P

Il est court, efficace et donc remplit bien sa fonction.

Tant mieux. Merci.

Par contre, selon moi, il faudrait utiliser « python » lorsqu’on parle de la commande et « Python » (avec une majuscule) sinon.

Je vais corriger.

Tutoriel intéressant, peut être que baliser l'outil par rapport à pip qui est connu serai un plus.

À voir. Ce tuto a en particulier pour but d'être commun à tous les tutos scientifiques de ZdS : plutôt que de réécrire la partie installation, on redirige ici. À ce titre, commencer à comparer à pip est un peu hors sujet, je ne le fait qu'en conclusion. Et si je dois ajouter des trucs là-dessus, ce serait justement en conclusion et surtout pas dans l'intro.

De plus, si tu veux des bibliothèques scientifiques conséquentes (scipy, numpy, matplotlib, pandas…), personne ne te redirigera vers pip. Parler de pip dans ce contexte est totalement hors sujet. Je parle d'ailleurs d'installer un environnement et non une bibliothèque (car anaconda – le paquet version gros – vient avec spyder, un éditeur de texte intégré (IDE), par exemple).

Donc dans l'idée, pourquoi pas, mais en conclusion.

+0 -0

Ce tuto a en particulier pour but d'être commun à tous les tutos scientifiques de ZdS : plutôt que de réécrire la partie installation, on redirige ici. […] De plus, si tu veux des bibliothèques scientifiques conséquentes (scipy, numpy, matplotlib, pandas…), personne ne te redirigera vers pip. Parler de pip dans ce contexte est totalement hors sujet.

Déconseillerais-tu sa lecture en dehors d'une redirection depuis un autre tutoriel ?

Je me trompe peut-être, mais il me semble que pip est plus connu que conda. Du coup, un débutant auquel on n'aurait pas dit qu'il faut utiliser ce dernier pour installer des bibliothèques scientifiques passera probablement par le premier. En tombant sur le tutoriel, il se demandera alors se qu'apporte conda par rapport à virtualenv + pip.

Donc dans l'idée, pourquoi pas, mais en conclusion.

Tu pourrais également mettre ces explications dans une section facultative à la lecture. Les lecteurs souhaitant juste suivre la procédure n'auraient qu'à la passer.

Concernant le contenu du tutoriel :

Il fonctionne à l'aide de binaires, rendant l’installation de certaines bibliothèques (comme numpy, par exemple), extrêmement simple.

Je ne suis pas sûr que cette notion de paquets binaires soit assimilée par tout le monde (moi y compris).

Sinon, je suis étonné que tu ne parles des environnements virtuels qu'à la fin. J'ai très souvent lu qu'il était très fortement conseillé d'en utiliser.

Merci :)

+0 -0

Déconseillerais-tu sa lecture en dehors d'une redirection depuis un autre tutoriel ?

Non. Mais dans ce cas, on manque effectivement d'une bonne raison de le faire.

Je me trompe peut-être, mais il me semble que pip est plus connu que conda. Du coup, un débutant auquel on n'aurait pas dit qu'il faut utiliser ce dernier pour installer des bibliothèques scientifiques passera probablement par le premier.

pip est certes plus connu. Mais si on dit à un débutant d'installer numpy, il va aller sur le site officiel et lire

Scientific Python distributions

For most users, especially on Windows and Mac, the easiest way to install the packages of the SciPy stack is to download one of these Python distributions, which includes all the key packages:

  • Anaconda: A free distribution for the SciPy stack. Supports Linux, Windows and Mac.
  • […]

Anaconda est le premier choix. Personne ne renvoie vers pip pour les bibliothèques scientifiques. Et pour les bibliothèques petites/en python, pas de problème, pip est le bon choix. De plus, un gros paquet de gens faisant de la programmation scientifique en python ne connait même pas pip, je ne veux pas l'embrouiller en en parlant.

Tu pourrais également mettre ces explications dans une section facultative à la lecture. Les lecteurs souhaitant juste suivre la procédure n'auraient qu'à la passer.

Tout le tuto est déjà facultatif. C'est pas une blague. Si tu veux anaconda, tu ne lis que anaconda, si tu veux miniconda, tu lis miniconda et installation, et les environnements sont facultatifs.

Et surtout, je veux que ça reste court.

Sinon, je suis étonné que tu ne parles des environnements virtuels qu'à la fin. J'ai très souvent lu qu'il était très fortement conseillé d'en utiliser.

Oui, mais je veux un tutoriel court et lisible, si je commence par parler des environnements dès le début, les gens risquent de lâcher en trouvant python plus compliqué que matlab. Et j'ai mis un bon moment à trouver l'intérêt de ces choses, savoir qu'elles existent et le base de la chose suffit à mon sens.

D'ailleurs, il est aussi fortement conseillé d'avoir un gestionnaire de version (git, svn…). Et un truc pour gérer les tests unitaires. Et ainsi de suite. Ce n'est pas le propos ici, je n'en parle que parce que ça permet de gérer les bibliothèques python 2 et 3 facilement, ce qui peut très concrètement être utile.

Je ne suis pas sûr que cette notion de paquets binaires soit assimilée par tout le monde (moi y compris).

Faudrait savoir, je parle des avantages/caractéristiques de conda ou pas ? :-° Comme je le disais, je veux être court. Si ça embrouille, je peux supprimer, mais je ne veux pas en parler trop précisément. Pour moi, ça reste lisible car je dis les atouts que ça a : un simple « c'est plus facile que chez les autres » à un côté commercial, là je donne la raison de la facilité, libre au lecteur d'aller voir plus loin si ça l'intéresse.

Aparté : paquet binaire : le paquet contient un programme ou une bibliothèque compilé, paquet source : les sources sont téléchargées et compilées sur ta machine (make ou setup.py).


Je reçois pas mal de commentaire que je trouve assez hors sujet par rapport au but du tutoriel. Installer un environnement python pour scientifique avec conda. Pour scientifique -> je n'ai aucune raison de parler de pip ; avec conda -> je présente très vite les environnements virtuels pour ceux qui pourraient être intéressés.

Mon intro est à côté de la plaque ?

+0 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l'adresse suivante :

Merci d'avance pour vos commentaires.


Version courte : Seule l'intro a été modifiée, qu'en pensez-vous ?


J'ai repris le nommage suite à la réflexion de Karnaj.

J'ai fortement repris l'intro suite aux diverses remarques. Les remarques ont été trop nombreuses pour que je n'en tienne pas compte. J'espère avoir trouvé un équilibre, où le message passe, tout en restant court et clair.

Donc, pas de détail sur le fonctionnement interne, pas vraiment de comparaison à pip, mais je situe quand même et signale l’existence de pip. Je donne les avantages de conda en essayant à la fois d'être bref et explicite sans passer pour un mauvais commercial (conda lave plus blanc que blanc !). :D Bref, un jeu d'équilibriste à mon sens que j'espère avoir réussi correctement.

P.S. : je prévois un envoi en validation à la fin de la semaine si aucune remarque bloquante n’apparaît. Si l'intro ou l'intérêt de conda ne sont pas clairs, c'est bloquant, bien évidemment. :P


Édition : comme prévu, le tuto a été envoyé en validation, avec pour seul modification l'ajout des remerciements.

+0 -0
Ce sujet est verrouillé.