IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI/RAD Python Discussion :

Environnement virtuel ?


Sujet :

EDI/RAD Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Environnement virtuel ?
    Bonjour,
    Je pense avoir compris le but des environnements virtuels mais je rencontre un problème...
    Je travaille sur 2 pc différents, un au boulot et un à la maison, et le chemin vers l'installation de python n'est pas le même sur ces deux ordis. De plus j'utilise GitHub pour déposer mes Devs, alors quand je récupère depuis GitHub un programme avec son environnement virtuel , à la maison... Ça fonctionne pas parce qu'il me dit que python.exe n'est pas accessible... Je comprends pas bien comment on peut faire pour travailler depuis deux postes différents sur le même projet... Pour info je suis sur vs code. Si vous avez des infos, je suis preneur !
    Merci!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par onlyforpeace Voir le message
    De plus j'utilise GitHub pour déposer mes Devs, alors quand je récupère depuis GitHub un programme avec son environnement virtuel , à la maison...
    Vous ne récupérez pas un programme avec son environnement virtuel... mais un programme à installer/exécuter sur un environnement existant qu'il soit ou pas virtuel.


    Citation Envoyé par onlyforpeace Voir le message
    Je comprends pas bien comment on peut faire pour travailler depuis deux postes différents sur le même projet... Pour info je suis sur vs code. Si vous avez des infos, je suis preneur !
    Chaque développeur à son environnement Python et récupère les sources qu'il va pouvoir modifier... reste à gérer les collisions et les inconsistances avec une division du travail bien pensée.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    mince, je ne comprends pas tout, mais merci pour ta réponse....

    si je comprends bien je devrais uniquement stocker sur github le programme sans son environnement virtuel de développement puis le recuperer sur un autre poste et créer un environnement virtuel pour ce poste???

    en fait je ne comprends pas concrètement comment font les développeur pour bosser sur des programmes depuis des configuration différentes avec github...

    c'est quoi une division du travail bien pensée? où est ce que je peux trouver des infos la dessus?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par onlyforpeace Voir le message
    c'est quoi une division du travail bien pensée? où est ce que je peux trouver des infos la dessus?
    Attendez voir, il y a plein de bibliothèques sur PyPI, nombre d'entre-elles ont leurs sources stockées sur GitHUB... et vous avez tout loisir d'aller voir comment c'est construit.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Ne surtout pas versionner votre dossier d'environnement virtuel sur Github.

    Mettez-le dans le fichier .gitignore et ça ira mieux.

    Il vous suffira d'installer l'environnement virtuel sur vos deux machines, avec installation des mêmes dépendances et tout roulera.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Si je comprends bien un fichier .gitignore qui contiendrait env/ empêcherait de uploader le dossier d'environnement sur GitHub? Avec ça je comprends mieux, merci!

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    En général, avec votre projet vous fourguez un fichier requirements, ou une autre solution basée sur Poetry, par exemple, à charge pour le développeur/utilisateur d'installer toutes ces dépendances sur son propre poste, dans un virtualenv, au bien carrément au niveau du système.
    Le but est que les modules nécessaires soient bien identifiés et qu'il soit facile de les installer chez soi.

    Évidemment, vous ne committez pas le virtualenv. D'ailleurs certains développeurs travaillent sous Windows, d'autres sous Linux, sans parler d'autres différences d'environnement comme 32/64 bits. Donc chacun peut avoir sa propre version de Python et toutes les dépendances. Ça n'empêche pas les personnes de collaborer sur un même projet, et le projet Python de fonctionner de la même manière.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    bonjour

    comme l'a écrit binarygirl, existe plusieurs façons de faire, mais, dans tous les cas on ne met pas son environnement dans le dépot.

    Citation Envoyé par onlyforpeace Voir le message
    je ne comprends pas concrètement comment font les développeur
    Il y foule de doc là-dessus si on sait chercher.

    Avec une petite recherche github CONTRIBUTING <venv(ou autre techno)>, tu va voir comment font les autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    https://github.com/deta/deta-python/blob/master/CONTRIBUTING.md
    ...
    https://jeltef.github.io/PyLaTeX/v1.2.0/contributing.html
    ...
    Bien sûr, avec gitlab, on trouve la même chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    https://datafold-dev.gitlab.io/datafold/contributing.html
    https://framagit.org/interhop/orea/back-end#installation

    Citation Envoyé par onlyforpeace Voir le message
    Je pense avoir compris le but des environnements virtuels
    Si tu participais à une douzaine de projets open-sources, tu comprendrais très vite à quel point ton système est pollué
    $moi= ( !== ) ? : ;

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Yes merci, pour ces infos.. ça fait une petite dizaine d'année que je programme en python, mais pratiquement uniquement sur un edi interne à mon logiciel de CAO, développement orienté métier et surtout pour moi tout seul... Mais depuis quelques temps, j'approfondis mes connaissances et devellope des gui tkinter, ou autre petit programme d'analyse de compta.... Et j'ai découvert GitHub, gitbash et GitHub desktop, et malgré les ' quand on sait chercher..' je trouve le sujet super nébuleux pour quelqu'un qui ne vient pas du milieu de la prog... En tout cas, je vous remercie et je vais aller visiter les liens de ce pas...
    À bientôt !

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par onlyforpeace Voir le message
    malgré les ' quand on sait chercher..' je trouve le sujet super nébuleux pour quelqu'un qui ne vient pas du milieu de la prog...
    Si vous utilisez ces outils comme une clef USB, c'est que vous avez besoin d'une clef USB pour faire des sauvegardes/restaurations de vos fichiers.

    Vous utilisez des outils de développements construits pour apporter des solutions aux problèmes de gestion du cycle de vie des applications, du travail d'une équipe de programmeurs, ... sûr que c'est nébuleux: sans aucune idée de ces problèmes, difficile d'apprécier l'intérêt des solutions apportées ni une idée de ce que ces outils doivent faire (et quoi chercher pour trouver comment mettre en œuvre une fonctionnalité donnée).

    Quel est l'intérêt d'utiliser ce genre d'outil dans votre cas? Quelle motivation aurez vous pour passer du temps à comprendre ce qu'on peut faire avec en ouvrant la documentation, des tutos.... ? Faible... et vous utiliserez au mieux un pouième des fonctionnalités de ces outils sans trop comprendre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    merci pour ce complément, mais ma question de départ n'est pas sur: est ce que je dois ou peux utiliser github, mais comment les environnements virtuel doivent être utilisé, et l'analogie avec l'utilisation de github et .gitignore, permet d'imager cette utilisation.
    Ce que je croyais, c'était que l'environnement virtuel suivait le projet en cours de développement pour que tout les utilisateurs aient les librairies et autres dépendances pour faire fonctionner le programme.
    Ce que j'ai compris un peu plus tard c'est que ce n'est pas tout a fait ça, que chacun doit créer un environnement virtuel sur ça machine et uniquement uploader ou downloader le corps de programme, et dans ce cas, comment exclure l'environnement virtuel de ces mouvements de fichier...
    Maintenant je comprends l’intérêt de ne pas intégrer l'env., d'utiliser un requirements.txt.
    Que ce soit avec une clef usb ou un autre moyen ( github) le problème reste le même... en tout cas merci.

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par onlyforpeace Voir le message
    chacun doit créer un environnement virtuel sur ça machine et uniquement uploader ou downloader le corps de programme, et dans ce cas, comment exclure l'environnement virtuel de ces mouvements de fichier...
    Vous vous retrouvez à devoir l'exclure parce que vous l'avez inclus (et là est le problème).
    Et vous considérez (à tord) que ce qu'on récupère de GitHub est "le programme": non, le programme c'est ce qu'on exécute lorsqu'il a été installé sur un environnement cible (qui n'est pas l'environnement de développement).
    Ce que vous avez récupéré sont les fichiers qui permettent de construire un package qui pourra être déployé sur un environnement de production. Pour fabriquer le venv, seul le requirements.txt est nécessaire.

    N'oubliez pas que ce genre d'outil à été fabriqué pour supporté le cycle de vie d'applications écrites avec des langages compilés: les sources servent à fabriquer un exécutable qui pourra être livré... Avec Python, l'exécutable est python.exe et on livre des sources.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    je vois que tu cherches à me faire comprendre quelque chose que je n'ai pas compris, et je t'en remercie une fois de plus... mais je me rends compte que ce que tu dis, et bien je ne le comprends pas... j'ai conscience de mes énormes lacunes et depuis 2-3 ans j'ai le présentiment qu'il manque des éléments dans mon apprentissage, mais je ne sais pas quoi, et je présent aussi que tu en touche un dans tes explications... tu utilises des mots comme "programme", "environnement cible", "package"... des mots qui n'ont en faite pas grand sens pour moi.

    si tu te sens d’approfondir ce sujet pour moi, je t'en saurais reconnaissant, mais je comprends aussi que tu ais autre chose à faire...
    quand je rédige du code, avec des librairie, des class, des méthodes... c'est bien un programme, non? qui est exécuté par un interpréteur ( python, java,C++, C#).

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par onlyforpeace Voir le message
    si tu te sens d’approfondir ce sujet pour moi, je t'en saurais reconnaissant, mais je comprends aussi que tu ais autre chose à faire...
    quand je rédige du code, avec des librairie, des class, des méthodes... c'est bien un programme, non? qui est exécuté par un interpréteur ( python, java,C++, C#).
    oui et non...
    Imaginez "programme" comme le truc que vous fabriquez et qui pourra être mis en place et utilisé par un utilisateur X ou Y.

    Il est composé de fichiers contenant des instructions et s'appuie sur des bibliothèques mais ce contenu (fabriqué avec Python, C, Java,... utilisant....) est juste informatif: ça ne devrait pas changer l'intérêt de l'utilisateur pour ce programme et les résultats qu'il en attend.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Citation Envoyé par onlyforpeace Voir le message
    malgré les ' quand on sait chercher..' je trouve le sujet super nébuleux
    Ma remarque s'unifiait justement que "c'est normal que tu ne saches pas où chercher et une fois que tu le sais, c'est facile" et certainement pas un reproche que tu ne sache pas chercher

    Citation Envoyé par onlyforpeace;
    quand je rédige du code, avec des librairie, des class, des méthodes... c'est bien un programme, non? qui est exécuté par un interpréteur ( python, java,C++, C#).
    Le but est de faire un programme
    je pense qu'ici, simplement tu ne maitrises pas le langage "métier"

    - C++ n'est pas un interpréteur, existe des interpréteurs et des compilateurs, 2 choses différentes
    - On distingue code source et "programme". Et l'utilisateur du programme n'a pas conscience des sources (même si c'est du python)
    "je rédige du code, avec des librairies... c'est bien un programme, non?" si je rédige du code pour faire une librairie, c'est ?

    - "package" : c'est la façon de distribuer l'application (le programme avec ces ressources), change grandement suivant le système ... c'est une archive (.apk, .zip, .image, .deb, .exe ...), elle peut parfois avoir un installateur intégré et parfois utilise l'installateur officiel/intégré du système.
    Tu connais les stores windows et android ? ce ne sont que des lieux qui te propose de télécharger des (paquets) "packages"
    $moi= ( !== ) ? : ;

Discussions similaires

  1. conseils sur la modélisation d'environnement virtuel
    Par info_sara dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 08/03/2012, 22h37
  2. Réponses: 25
    Dernier message: 02/06/2010, 10h29
  3. Réponses: 0
    Dernier message: 10/05/2010, 13h19
  4. Réponses: 0
    Dernier message: 27/04/2010, 08h54
  5. Construction d'un environnement virtuel
    Par pouette13 dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/06/2007, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo