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

Python Discussion :

Chemin des modules


Sujet :

Python

  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut Chemin des modules
    Bonjour

    Comment savoir le chemin de chaque module et chaque fichier dont il a besoin (et le chemin de ces fichiers)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import sys
    print (sys)
    Ou plus simplement le but recherché est de copier tous les fichiers nécessaires au fonctionnement d'un script, pour le transport (pas manuellement)
    Puis de placer tout ca dans un dossier externe qui permettra le transport du script et de ses modules

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Sur certains packages l'attribut __file__ peut te renseigner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import os
    print(os.__file__)
    Mais bon si l'objectif est de porter ton script sur plusieurs machines, le mieux ca reste d'en faire un package. Ainsi tu fournis une distribution de ton package à tes utilisateurs qui peuvent installer ton package comme n'importe quel autre, avec la commande pip install (ou python setup.py). Tu pourras écrire un ReadMe, contrôler la version des dépendances présentent chez tes utilisateurs, etc ...
    Et après même si tu l'estimes assez abouti, et qu'il n'est pas privé, tu peux le mettre à disposition sur Pypi et ainsi tout le monde pourra faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install le_package_a_bonjourajax
    tout comme il ferait !

    Une petite lecture de ceci pourrait t'être utile :
    http://sametmax.com/creer-un-setup-p...igne-sur-pypi/

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Merci ça a l'air bien détaillé, je cherche en réalité quelque chose de bien plus simple

    Pour donner plus de précisions, si la machine n'a ni acces a internet, ni pip, ni aucun des modules de base nécessaires(mis a part ceux inclus par défaut sys, os ...)

    l'idéal serait de juste mettre dans un dossier le script principal et ce dont il a besoin, (admettons que j'ai besoin de la librairie PyCrypto, toute la librairie incluse dans le dossier, quitte a ce que cela fasse un dossier de 150 fichiers)

    Et il n'y a plus qu'a lancer python le_script.py qui ira chercher tout ce qu'il a besoin avec "import" (ce qui veut dire ne rien installer sur la machine, seulement utiliser le dossier et si on ne s'en sert plus on n'a plus qu'a le supprimer)

    Exemple: les versions portables de certaines applications, prêtes a l'emploi rien à faire mis a part l'executer

    C'est fesable avec le python setup.py install ?

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    2 éléments de réponses :

    1) En python, installer un package, ca veut simplement dire : copier les sources du package dans le PATH python. Ni plus ni moins. donc c'est ce que vous voulez faire, et c'est aussi ce que ferais pip ou python setup.py. pip est usuellement utiliser pour installer un package du web, mais fait très bien l'affaire également pour installer un package dont vous avez simplement l'archive de distribution en local.

    2) Il existe des packages python qui permette de faire de votre code un "executable standalone" (vous pouvez taper ces mots clés dans coogle pour voir). C'est à dire que vous produirez un .exe qui se suffit à lui même et qui contient donc toute les dépendances nécéssaires à son bon fonctionnement. Dans ce cas vous ne distribuez pas le code, vous distribuez simplement l'éxécutable. Ca peut être une solution aussi dépendamment de votre besoin, et de celui à qui vous donnez votre package.

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Bonsoir

    1) D'accord merci je comprends mieux, le path python c'est le chemin system ? car pip install et les setup.py me mettent tout la dedans en general
    hors ce que je cherche a faire est que tout reste dans le dossier et n'aille pas dans le "chemin systeme"
    je donne par exemple les versions portables de certains logiciels (uWamp, qui n'installe vraiment rien sur la machine), seulement un dossier regroupant l'intégralité de ce que le script, il ne reste plus qu'a lancer un python3 chemin/lescript.py
    Le principe :
    - faire mon programme avec une machine disposant du nécessaire...
    - mettre le tout dans un dossier
    - puis sur une clef usb
    - enfin sur une machine vierge contenant juste un interpreteur python
    - et je le lance et tout fonctionne (que ce soit une machine linux windows...)

    2) j'ai essayé cx_freeze v4, v5.0.0, v5.1.1 en la téléchargeant a partir de plusieurs sources (dont celle du site developpez.com)
    avant et apres avoir fait des tas de manipulations toujours la meme erreur

    line 702, in _GetBaseFileName
    raise ConfigError("no base named %s", name)
    cx_Freeze.freezer.ConfigError: no base named Console
    (je comptais ouvrir un nouveau sujet pour cette question mais si vous avez la solution c'est super,)

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Effectivement un nouveau sujet oui ca peut être mieux. cx_freeze, je suis pas du tout un expert là dessus. Ceci dit en tapant l'erreur que tu obtiens sur Google il y a l'air d'avoir des gens qui ont eu le même souci que toi.

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Je suis allé voir mais aucune des solutions ne fonctionnent, j'ai pris pyistaller a la place (mais il ne convertit pas en .exe)

    Mais on s'éloigne du sujet

Discussions similaires

  1. [W3C] chemin des href
    Par Anonymous dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 10/02/2005, 02h00
  2. Réponses: 20
    Dernier message: 19/12/2004, 19h52
  3. Recherche des dépendances des modules
    Par slowpoke dans le forum Mandriva / Mageia
    Réponses: 9
    Dernier message: 11/12/2003, 09h49
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 10h35
  5. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 09h32

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