======Python: Créer son propre package python======
Cette page utilise un exemple en python3
* pymultilame disponible **[[https://github.com/sergeLabo/pymultilame|Sur GitHub]]**
**Validé sur debian stretch 9.2 avec pip3**
===== Ressources =====
=== sametmax.com ===
Un article de Sam pas récent mais bien écrit comme toujours, pour le **Choix des outils**, setuptools et pip
* [[http://sametmax.com/creer-un-setup-py-et-mettre-sa-bibliotheque-python-en-ligne-sur-pypi/|sametmax.com]]
=== GALODE Alexandre sur developpez.com ===
* [[http://deusyss.developpez.com/tutoriels/Python/packaging_pypi/|chez developpez.com]]
=== Diverses ===
* [[https://docs.python.org/3/distutils/introduction.html|Documentation python Introduction]]
* [[https://docs.python.org/3/distutils/introduction.html#distutils-simple-example|Exemple simple de distutils]]
* [[http://www.diveintopython3.net/packaging.html|Packaging à diveintopython3.]]
* [[https://www.python.org/dev/peps/pep-0314/|La PEP 314]]
===== Structure du dossier =====
pymultilame/
|
+-- .gitignoe
+ __init__.py avec rien ou quelque chose
+-- setup.py
+-- README.md
+-- LICENSE
+-- MANIFEST.in
+-- doc
+-- /pymultilame
|
+ __init__.py
+ tcpclient.py
+ http_download.py
etc ....
===== Exemple de setup.py =====
#!/usr/bin/env python3
from setuptools import setup, find_packages
setup(
name='pymultilame',
version='0.7.4',
plateformes = 'LINUX',
packages=find_packages(),
packages_dir = {'' : 'pymultilame'},
author='sergeLabo',
description='Python Labomedia Utilities',
url='https://labomedia.org',
download_url='https://github.com/sergeLabo/pymultilame',
license='GPL Version 3',
keywords = ["blender", "network", "tools"],
classifiers = [ "Programming Language :: Python :: 3",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: Debian",
"Topic :: Blender Game Engine",
"Topic :: Network",
"Topic :: System"],
long_description=open('README.md').read()
)
====Exemple de __init__.py====
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Ce module propose les outils les plus courrant que j'utilise,
et aussi pour retrouver des syntaxes peu utilisée que je n'ai pas en mémoire,
mais qui nécessiterait des recherches.
"""
name = "pymultilame"
from pymultilame.http_download import HttpDownload
from pymultilame.mytools import MyTools
from pymultilame.tcpclient import TcpClient
==== Ressources sur toutes les possibilités des classifiers ====
* [[https://pypi.python.org/pypi?:action=list_classifiers|Liste des classifiers]]
===== Installation =====
==== Dans le home, dans le dossier des sources ====
Pour le développement, en particulier:
pip3 install .
==== Avec pip et téléchargement sur github ====
sudo pip3 install -e git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
Mise à jour:
sudo pip3 install --upgrade git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
=====Utilisation=====
* Voir Mes outils personnel avec **[[pymultilame|pymultilame]]**
{{tag>python sb}}