Créez rapidement votre propre module avec setuptools (python)

Aperçu

Vous développez peut-être quelque chose vous-même et modulez les classes et les fonctions.

En écrivant et en construisant setup.py en utilisant setuptools

test.py


import mylib

Vous pourrez faire quelque chose comme, mais où vous souhaitez modulariser Je voudrais résumer les éléments minimaux nécessaires dans un mémorandum. Si vous préparez ceci, vous pouvez le modulariser très rapidement.

Je n'écrirai que le minimum nécessaire, donc les détails sont Document officiel Prière de se référer à.

Commentaire

L'explication est la suivante.

--Préparez les dossiers et fichiers.

Que préparer

C'est tout ce dont vous avez besoin.

Cette fois, en supposant que nous allons créer un module appelé mylib, nous nous sommes préparés comme suit.

tree .
setup.py
mylib
|-- __init__.py
|-- mylib.py

Écrivez la fonction que vous souhaitez intégrer dans une bibliothèque.

Ensuite, j'ai écrit la fonction appropriée dans mylib.py, qui est le contenu de la bibliothèque, comme suit.

mylib.py



class Test():
    def __init__(self):
        pass

    def pt():
        print("from class Test")


def test():
    print('hello world')

Préparez __init __. Py.

―― Quel fichier importer --Quelle fonction importer

Écrivez juste quelques lignes sur.

__init__.py


from .mylib import (
    test,
    Test,
)

__version__ = '0.0.0'

dans ce cas, Depuis le fichier mylib.py, avec la fonction test J'écris juste une classe appelée Test dans cette bibliothèque.

Écrivez un peu setup.py.

setup.py


from setuptools import setup, Extension,find_packages

setup(
    name = 'mylib',
    packages=find_packages(where='mylib'),
    package_dir={'': 'mylib'},
)

C'est acceptable.

Exécutez setup.py.

La bibliothèque python est comme unfichier objet partagé (donc fichier) Il est stocké dans le dossier d'environnement python. L'emplacement est https://qiita.com/kenmaro/items/d589d32115154dcd26b2 Cet article prière de se référer à.

Si vous le mettez dans ce dossier, peu importe où vous exécutez python import mylib

Peut être. Quand tu veux faire ça

python setup.py install

Veuillez exécuter.

Lorsque vous souhaitez créer un dossier de fichiers so dans la hiérarchie où se trouve setup.py au lieu de le stocker dans ce dossier (Pour le moment, vous ne pouvez «importer ma lib» que dans cette hiérarchie.) Est

python setup.py build_ext --inplace

Peut être.

Facultatif (lorsque vous utilisez d'autres bibliothèques)

Par exemple, votre propre bibliothèque appelle tensorflow en interne, Je pense que la plupart du temps, j'utilise d'autres bibliothèques. À ce moment-là, le travail suivant est requis «plus».

--Créez requirements.txt.

requirements.txt Dans requirements.txt

requirements.txt


tensorflow==2.2

Et ainsi de suite, écrivez les bibliothèques nécessaires.

Ajouter à setup.py

setup.py


from setuptools import setup, Extension,find_packages

def _requires_from_file(filename):
    return open(filename).read().splitlines()


setup(
    name = 'mylib',
    packages=find_packages(where='mylib'),
    package_dir={'': 'mylib'},
    install_requires=_requires_from_file('requirements.txt'),
)

Écrivez comme ça. Après cela, essayez python setup.py install etc. comme avant.

Résumé

Cette fois avec les étapes minimales possibles Implémentation de votre propre module python en utilisant setuptools J'ai essayé d'expliquer.

Cette fois par ici.

fin.

Recommended Posts

Créez rapidement votre propre module avec setuptools (python)
[Python] Créez votre propre bot LINE
Pour importer votre propre module avec jupyter
Publiez votre propre bibliothèque Python sur Homebrew
Créez votre propre lecteur de musique avec Bottle0.13 + jPlayer2.5!
Flux de création de votre propre package avec setup.py avec python
Mémo pour créer votre propre Box avec le Python de Pepper
Appelons votre propre bibliothèque C ++ avec Python (Préférences)
Appelez votre propre module python à partir du package ROS
Créez Puyopuyo AI avec Python
Faites une loterie avec Python
Jusqu'à ce que vous puissiez installer votre propre bibliothèque Python avec pip
Essayez de trier vos propres objets avec des files d'attente prioritaires en Python
Exécutez l'intelligence de votre propre bibliothèque python avec VScode.
Apprentissage par renforcement 23 Créez et utilisez votre propre module avec Colaboratory
Créez un bot LINE avec Python + heroku
Créez votre propre manuel. [Linux] [homme]
Créer Apache Log CSV avec Python
Faisons une interface graphique avec python.
Résolvez votre propre labyrinthe avec Q Learning
Créer un système de recommandation avec python
Faisons un graphe avec python! !!
Entraînez UGATIT avec votre propre jeu de données
Résolvez votre propre labyrinthe avec DQN
Créez votre propre VPC avec un seul sous-réseau public uniquement avec boto
Comment créer votre propre site de domaine avec heroku (plan gratuit)
Rendre la console Python couverte d'UNKO
Votre propre client Twitter réalisé avec Django
Faisons un jeu de shiritori avec Python
Créez wordcloud à partir de votre tweet avec python3
Soudainement avec Python PyInstaller Aucun module nommé pyinstaller
[LLDB] Créez votre propre commande avec Python
Utilisez facilement vos propres fonctions en Python
Créez votre propre serveur DNS avec Twisted
[Python] Empaquetez et distribuez vos propres modules
Créer un diagramme de relations des modules Python
Créez votre propre valeur composite avec SQLAlchemy
Fractal pour faire et jouer avec Python
Créez vous-même le tracé familier du flux de rayons X sur 3 jours de NOAA / GOES avec Python
Créez votre propre caméra virtuelle avec Python + OpenCV et appliquez des effets originaux
Programmes Python de document HTML avec Sphinx
[Python] Enregistrez votre propre bibliothèque dans PyPI
Faisons la voix lentement avec Python
Jusqu'à ce que vous installiez votre propre bibliothèque Python
Facilitez la soumission de pypy avec atcoder-cli (python)
Créons un modèle de reconnaissance d'image avec vos propres données et jouons!
Intégration avec setuptools / python setup.py test / pytest-runner
[Python] Rendons matplotlib compatible avec le japonais
[Python] Créez rapidement une API avec Flask
Créez un framework Web avec Python! (1)
Créez une application de bureau avec Python avec Electron
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Obtenez votre propre adresse IP en Python
La voie de la mise à jour de Splunkbase avec votre propre application Splunk compatible avec Python v2 / v3
Erreur lors de l'installation d'un module avec Python pip
Pyinstaller transforme les scripts Python en .exes qui peuvent être exécutés sous Windows
[Python] Implémentez votre propre classe de type liste à l'aide de collections.UserList