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 :

Créer librairie python via setup.py et gestion des fonctionnalités


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    Janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 24
    Par défaut Créer librairie python via setup.py et gestion des fonctionnalités
    Bonjour à tous,

    je souhaite créer une librairie Python pur pouvoir la déposer sur Pypi, afin que les personnes puissent l'installer via la commande 'pip install monpackage'.
    J'ai donc créer le dossier MonPackage avec à l'intérieur les éléments nécessaires comme le README.md, MANIFEST.in et setup.py. Egalement, y est présent le "vrai" package MonPackage contenant le __init__.py et l'ensemble de mes fichiers python que je souhaite utiliser.

    J'ai utiliser la commande "python setup.py install", cela me crée les dossier build, dist, et MonPackage.egg-inf. Lorsque donc je souhaite importer sous un notebook quelconque mon package, cela fonctionne ... Cependant , je rencontre des difficultés quant à la disponibilité des fonctions dans ma librairie.
    En effet, j'ai 3 fichiers python dans mon packages, chacun contenant quelques fonctions, nécessitant des librairies python basiques que j'importe à l'interieur.
    De ce fait, lorsque j'utilise la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import MonPackage as mp
    Et que j'utilise la complétion via : , j'ai la possibilité d'afficher :
    - toutes les fonctions existantes
    - tous les fichiers python qui contiennent ces fonctions.
    - mais surtout toutes les libraires python que j'ai importé (du style numpy, pandas, ..)

    Ce qui fait que la complétion me donne un peu tout et n'importe quoi ... Ma question est alors : comment faire pour que lors de l'import sous notebook, ou via pycharm par exemple, je ne puisse voir QUE les fonctions disponilbles, et non les fonctions + librairies + fichiers pytohn qui appellent eux mêmes les fonctions ??


    Merci de votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    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 719
    Par défaut
    Salut,

    Citation Envoyé par -RoCk- Voir le message
    Ce qui fait que la complétion me donne un peu tout et n'importe quoi ... Ma question est alors : comment faire pour que lors de l'import sous notebook, ou via pycharm par exemple, je ne puisse voir QUE les fonctions disponilbles, et non les fonctions + librairies + fichiers pytohn qui appellent eux mêmes les fonctions ??
    La command completion (ce qui est affiché après mp.) est une fonctionnalité spécifique à votre environnement de développement...

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

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    Janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 24
    Par défaut
    Salut,

    merci pour ta réponse.

    Je ne suis pas sur d'avoir très bien compris, cela signifie que si je suis sous Pycharm, ou notebook, ou Spyder, cela va changer ?

    En effet, pour avoir testé sur les trois, voici l'exemple sous spyder : (j'ai change mp par kwe) :
    Nom : librairies.png
Affichages : 471
Taille : 9,3 Ko

    on voir toutes les fonctions possibles, ainsi que le np de numpy que j'utilise dans mes fichiers. Alors que sous Pycharm :

    Nom : librairies2.png
Affichages : 680
Taille : 30,7 Ko

    la version est la même, etc, ...

    Est ce cette distinction à laquelle tu fais référence ??
    Si c'est bien cela, connaîtrais tu le moyen de "cacher" les librairies python (numpy par exmeple que l'on voit sur l'image de Spyder) que j'importe dans mes fichiers, lors de la création de mon packages ?

    Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    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 719
    Par défaut
    Salut,

    Citation Envoyé par -RoCk- Voir le message
    Est ce cette distinction à laquelle tu fais référence ??
    Voilà, chaque IDE fait sa propre cuisine et comme Python est interprété, on peut récupérer ce qu'on veut dans un module/package.... Et si l'IDE ne fournit pas une solution, il va falloir se plonger dans les sources.

    Si c'est bien cela, connaîtrais tu le moyen de "cacher" les librairies python (numpy par exmeple que l'on voit sur l'image de Spyder) que j'importe dans mes fichiers, lors de la création de mon packages ?
    Non. Outre que je n'utilise pas ces IDE là, j'évite ce genre de béquille lorsque je code.

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

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    Janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 24
    Par défaut
    Salut,

    Et si l'IDE ne fournit pas une solution, il va falloir se plonger dans les sources.
    je vois. Je vais donc rentrer plus en détails dans le code source et voir ce qui peut clocher ..

    Merci pour ton aide

    Marc

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/07/2019, 11h36
  2. Créer un script python via un code C++
    Par saadaoui_1 dans le forum Général Python
    Réponses: 2
    Dernier message: 02/10/2014, 19h39
  3. Réponses: 3
    Dernier message: 04/10/2007, 22h24
  4. Réponses: 3
    Dernier message: 13/08/2004, 18h52

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