Jusqu'à ce que vous installiez votre propre bibliothèque Python

Je vais vous expliquer la procédure pour installer votre propre bibliothèque avec Python. Il ne sera pas publié sur PyPI et sera utilisé au sein de l'équipe. Nom de la bibliothèque Homebrew: mylibrary

Structure du répertoire

La structure finale du répertoire est la suivante.

./mylibrary
--- /mylibrary
    ---/__init__.py
        file1.py
        file2.py
--- /docs
    /makefile
     make.bat
     index.rst
     api.rst
     page1.rst
    ---/_static
       ---/icon.png
    ----/_build
        ---/html
--- /example
    ---/example1.py
        example2.py
lisence.txt
setpu.py

Description du répertoire

répertoire mylibrary Placez le fichier source.

Répertoire __docs __ Le répertoire où se trouve la documentation de la bibliothèque. C'est un répertoire vide au moment de la création. Après avoir créé le fichier source, Sphinx est utilisé pour créer automatiquement un document à partir de la docstring dans la source.

__exemple de répertoire __ Je vais mettre l'exemple de code de la bibliothèque.

Fichier __setpu.py __ Ce fichier décrit la configuration au moment de l'installation.

__Autres fichiers requis __ license.txt Un fichier qui décrit la licence.

Description du fichier source

Lors de la création d'une bibliothèque, créons un fichier \ __ init__.py. En créant un fichier \ __ init__.py, vous pourrez importer des classes et des fonctions dans la bibliothèque sans utiliser de chemins absolus.

notexist__init__.py


#__init__.Lors de l'installation sans créer de py
from mylibrary.file1 import class1

Vous ne pouvez pas importer la classe sauf si vous décrivez le nom du dossier dans la bibliothèque où la classe est décrite.

_exist_init__.py


#__init__.Si vous créez py
from mylibrary import class1

Vous pouvez importer la classe par nom de bibliothèque + nom de classe. _init_.py

__init__.py


from .file1 import class1
from .file2 import class2
from .file3 import * 


__copyright__    = 'Copyright (C) 2018 Your Name'
__version__      = '1.0.0'
__license__      = 'BSD-3-Clause'
__author__       = 'Your Name'
__author_email__ = 'Your@Email'
__url__          = 'http://github.com/account/repository'

Description de setup.py

Exécutez la fonction de configuration de setpy.py pour installer. Ajoutez les informations nécessaires au moment de l'installation. https://qiita.com/shinichi-takii/items/6d1063e0aa3f79e599f0 _init_.py

setup.py


from setuptools import setup
from os import path
import re

package_name = "nom du paquet"

root_dir = path.abspath(path.dirname(__file__))

def _requirements():
    return [name.rstrip() for name in open(path.join(root_dir, 'requirements.txt')).readlines()]


def _test_requirements():
    return [name.rstrip() for name in open(path.join(root_dir, 'test-requirements.txt')).readlines()]

with open(path.join(root_dir, package_name, '__init__.py')) as f:
    init_text = f.read()
    version = re.search(r'__version__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
    license = re.search(r'__license__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
    author = re.search(r'__author__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
    author_email = re.search(r'__author_email__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
    url = re.search(r'__url__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)

Générer automatiquement des documents à partir de docstring

C'est une bonne idée d'écrire la docstring dans le style google ou numpy. https://qiita.com/11ohina017/items/118b3b42b612e527dc1d

Installez sphinx avec pip. https://qiita.com/futakuchi0117/items/4d3997c1ca1323259844 Tapez ensuite la commande suivante dans le répertoire ./mylibrary (celui qui ne contient pas la source).

sphinx-quickstart docs

Entrez uniquement le nom du projet et l'auteur selon le cas, sinon il n'y a pas de problème par défaut.

Déplacer vers le répertoire __docs __ Je pense que le fichier conf.py a été créé. __ Ceci est un fichier qui décrit les paramètres html créés par sphinx. __

setup.py


import os
import sys
#Ajouter un répertoire source
sys.path.insert(0, os.path.abspath('../mylibrary'))
#Activer la fonction de création de docstring
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon','sphinx.ext.viewcode',
]
#sélection de thème html
html_theme = "blue"

Quant à la façon d'écrire setu.py, flask sera utile. https://github.com/pallets/flask/blob/master/docs/conf.py Vous pouvez télécharger votre thème HTML préféré à partir du site suivant. https://sphinx-themes.org/

Créer un apidoc

Créez une référence API.

sphinx-apidoc -f -o ./docs .

Cela permettra à sphinx d'analyser le répertoire ./mylibrary où se trouvent les fichiers source et d'extraire les classes pour vous.

Édition de l'index et de l'apidoc

Vous pouvez diviser les classes dans apidoc qui n'ont pas besoin d'être exposées en tant qu'API, ou les diviser en pages séparées pour chaque classe au lieu de les regrouper dans apidoc. Dans ce cas, éditons le premier fichier La modification du premier fichier est facile et supprime les classes inutiles de la liste des classes dans apidoc.

__ Collez également le lien du fichier index.rst vers apidoc .__ __ Si vous oubliez cela, la construction de sphinx ne créera pas de référence API __

index.rst


.. toctree::
   :maxdepth: 2
   :caption: Contents:

   apidoc

Construction de document

Créez un fichier html dans le répertoire docs.

make html
#faire pour Windows.bat html

Cela créera une page hmtl construite par sphinx dans docs / _build / html. Vous pouvez utiliser ce répertoire comme page de référence d'API en le publiant sur netlify ou github. Si vous souhaitez créer une plus belle référence d'API, vous pouvez vous référer à la première méthode de création de fichier de falsk. https://github.com/pallets/flask/tree/master/docs

Installation de la bibliothèque

Tout ce que vous avez à faire est d'installer la bibliothèque.

python setup.py install

Je vous remercie pour votre travail acharné!

Recommended Posts

Jusqu'à ce que vous installiez votre propre bibliothèque Python
Jusqu'à ce que vous puissiez installer votre propre bibliothèque Python avec pip
Jusqu'à ce que vous hébergiez vous-même votre propre interprète
[Python] Enregistrez votre propre bibliothèque dans PyPI
Publiez votre propre bibliothèque Python sur Homebrew
Installer une bibliothèque externe pour python
Jusqu'à ce que vous installiez MySQL-python
Étapes pour installer votre propre bibliothèque avec pip
Windows10: installation de la bibliothèque dlib pour python
Appelons votre propre bibliothèque C ++ avec Python (Préférences)
Exécutez l'intelligence de votre propre bibliothèque python avec VScode.
[Python] Créez votre propre bot LINE
Jusqu'à ce que vous mettiez Python dans Docker
Windows10: Installation de la bibliothèque MeCab pour python
Jusqu'à ce que Python fonctionne sur Apache
Jusqu'à ce que matplotlib soit installé et exécuté
Installer python
Appelez votre propre bibliothèque partagée en langage C à partir de Python à l'aide de ctypes
[LLDB] Créez votre propre commande avec Python
Utilisez facilement vos propres fonctions en Python
[Python] Empaquetez et distribuez vos propres modules
Comment installer votre propre autorité de certification (racine)
Jusqu'à ce que vous installiez Arch Linux sur VMware
Jusqu'à ce que vous puissiez utiliser opencv avec python
Obtenez votre propre adresse IP en Python
Bibliothèque de messagerie Python 3.6
Essayez de créer votre propre CorDapp. (Jusqu'à la création des États)
Jusqu'à ce que vous installiez Caffe et exécutiez l'exemple
[Python] Implémentez votre propre classe de type liste à l'aide de collections.UserList
Linux C / C ++ Créez votre propre environnement de création de bibliothèque
Installation locale de Python
Jusqu'à ce que l'exemple de changefinder s'exécute sur python
Installez NAOqi python
Note sur la bibliothèque Python
Installer le contrôle Python
Importez vos propres modules avec le développement Python de Grasshopper
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Jusqu'à ce que Python soit installé avec pythonbrew et que Flask s'exécute sur le serveur WSGI
python: utilisez votre propre classe pour numpy ndarray
CentOS8 --Installer --Python3
Jusqu'à ce que vous installiez Anaconda pour l'analyse des données sur votre Mac et que vous lanciez l'IDE
Jusqu'à ce que vous puissiez installer Blender et l'exécuter avec python pour le moment
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
Appelez votre propre bibliothèque de langage C avec Go en utilisant cgo
Installez psycopg2 (bibliothèque pgsql pour python3) sur Apple Silicon
Créez votre propre Big Data en Python pour validation
[Introduction à l'application Udemy Python3 +] 66. Création de votre propre exception
Prenez votre propre utilisation maximale de la mémoire sous Linux et Python
Créez votre propre stéréogramme aléatoire (RDS) en Python.
Essayez d'améliorer votre propre quiz d'introduction avec Python
Étapes pour installer le dernier Python sur votre Mac
[Blender x Python] Créez votre propre fonction et résumé jusqu'à présent
Installez la bibliothèque python tierce sur Cinema4D
Utilisez CASA Toolkit dans votre propre environnement Python
Jusqu'à ce que vous installiez Gauge et exécutiez l'exemple officiel
Jusqu'à ce que vous insériez des données dans une feuille de calcul en Python
mac OS X 10.15.x pyenv Python Si vous ne pouvez pas installer
[Road to Intermediate Python] Définissez dans votre propre classe
Appelez votre propre module python à partir du package ROS
Jusqu'à ce que TensorFlow-GPU soit installé avec pip dans l'environnement Windows