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 à.
L'explication est la suivante.
--Préparez les dossiers et fichiers
.
le contenu de la bibliothèque
.setup.py
.
--Exécution de la commande de python setup.py
C'est tout ce dont vous avez besoin.
.py
)setup.py
--__init __. py
(Il y a deux traits de soulignement avant et après)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
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')
__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.
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.
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.
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
.
setup.py
.requirements.txt
Dans requirements.txt
requirements.txt
tensorflow==2.2
Et ainsi de suite, écrivez les bibliothèques nécessaires.
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.
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