Outils pour utilisateurs

Outils du site


creer_son_propre_package_python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
creer_son_propre_package_python [2018/07/22 13:03] sergecreer_son_propre_package_python [2018/09/27 15:54] (Version actuelle) – [Utilisation] serge
Ligne 1: Ligne 1:
-======Créer son propre package python======+======Python: Créer son propre package python======
  
-Cette page utilise un exemple+Cette page utilise un exemple en python3
  
-  * mylabotools (anciennement labtools mais le nom était déjà utilisé)+  * pymultilame disponible **[[https://github.com/sergeLabo/pymultilame|Sur GitHub]]**
  
-disponible à https://github.com/sergeLabo/mylabotools +**Validé sur debian stretch 9.2 avec pip3**
- +
-**Validé sur debian stretch 9.2 avec pip**+
  
 ===== Ressources ===== ===== Ressources =====
Ligne 14: Ligne 12:
 Un article de Sam pas récent mais bien écrit comme toujours, pour le **Choix des outils**, setuptools et pip 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/ +  * [[http://sametmax.com/creer-un-setup-py-et-mettre-sa-bibliotheque-python-en-ligne-sur-pypi/|sametmax.com]]
- +
-mais:\\ +
-Sam Post le 12/12/2017 at 14:01: C’est un vieil article valable uniquement pour Python 2 qu’il faudra un jour que j’update.\\ +
-Or un vieil adage dit: Plus de python2 !+
  
 === GALODE Alexandre sur developpez.com === === GALODE Alexandre sur developpez.com ===
  
-  * http://deusyss.developpez.com/tutoriels/Python/packaging_pypi/+  * [[http://deusyss.developpez.com/tutoriels/Python/packaging_pypi/|chez developpez.com]]
  
 === Diverses === === Diverses ===
  
-  * https://docs.python.org/3/distutils/introduction.html +  * [[https://docs.python.org/3/distutils/introduction.html|Documentation python Introduction]] 
-  * https://docs.python.org/3/distutils/introduction.html#distutils-simple-example +  * [[https://docs.python.org/3/distutils/introduction.html#distutils-simple-example|Exemple simple de distutils]] 
-  * http://www.diveintopython3.net/packaging.html +  * [[http://www.diveintopython3.net/packaging.html|Packaging à diveintopython3.]] 
-  * https://www.python.org/dev/peps/pep-0314/+  * [[https://www.python.org/dev/peps/pep-0314/|La PEP 314]]
  
 ===== Structure du dossier ===== ===== Structure du dossier =====
  
 <code> <code>
-mylabotools+pymultilame
-+ | 
-+ __init__.py avec rien ou quelque chose + +-- .gitignoe 
-+-- setup.py + + __init__.py avec rien ou quelque chose 
-+-- README.md + +-- setup.py 
-+-- LICENSE + +-- README.md 
-+-- MANIFEST.in + +-- LICENSE 
-+-- /mylabotools + +-- MANIFEST.in 
-    + +-- doc 
-    labfifolist.py + +-- /pymultilame 
-    labconfig.py +          
-    etc ....+          + __init__.py 
 +          tcpclient.py 
 +          http_download.py 
 +        etc ....
 </code> </code>
  
 ===== Exemple de setup.py ===== ===== Exemple de setup.py =====
  
-<code python>+<file python setup.py>
 #!/usr/bin/env python3 #!/usr/bin/env python3
  
-from distutils.core import setup+from setuptools import setup, find_packages
  
-setup(  name='mylabotools', +setup( 
-        packages ["mylabotools"]+    name='pymultilame', 
-        version='1.26', +    version='0.7.4'
-        description='Python Labomedia Utilities', +    plateformes = 'LINUX', 
-        author='sergeLabo', +    packages=find_packages(), 
-        url='https://labomedia.org', +    packages_dir = {'' : 'pymultilame'}
-        download_url='https://github.com/sergeLabo/mylabotools', +    author='sergeLabo', 
-        license='GPL Version 2', +    description='Python Labomedia Utilities', 
-        keywords = ["blender", "network", "tools"], +    url='https://labomedia.org', 
-        classifiers = [ "Programming Language :: Python", +    download_url='https://github.com/sergeLabo/pymultilame', 
-                        "Programming Language :: Python :: 3", +    license='GPL Version 3', 
-                        "Development Status :: 1", +    keywords = ["blender", "network", "tools"], 
-                        "Environment :: Linux", +    classifiers = [ "Programming Language :: Python :: 3", 
-                        "Intended Audience :: Developers", +                    "Development Status :: 4 - Beta", 
-                        "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", +                    "Intended Audience :: Developers", 
-                        "Operating System :: Debian", +                    "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", 
-                        "Topic :: Blender Game Engine" +                    "Operating System :: Debian", 
-                        "Topic :: Network", +                    "Topic :: Blender Game Engine", 
-                        "Requiresre"], +                    "Topic :: Network", 
-        long_description = """\ +                    "Topic :System"], 
-        Tools used every day +    long_description=open('README.md').read() 
-        -------------------- +    ) 
-        Tools for Blender Game Engine Python Script +</file>
-        """,+
  
-        py_modules=['labfifolist', +====Exemple de __init__.py==== 
-                    'labformatter', +<file python __init__.py> 
-                    'labgetmyip', +#!/usr/bin/env python3 
-                    'labconfig', +# -*- coding: utf-8 -*- 
-                    'labgetmyip', +  
-                    'labmulticast', +""" 
-                    'labtcpclient', +    Ce module propose les outils les plus courrant que j'utilise
-                    'labudpclient', +    et aussi pour retrouver des syntaxes peu utilisée que je n'ai pas en mémoire
-                    'labsometools', +    mais qui nécessiterait des recherches. 
-                    'labsound', +""" 
-                    'labtempo', + 
-                    'labtexturechange', +name = "pymultilame" 
-                    'labviewport', + 
-                    'labirctwisted', +from pymultilame.http_download import HttpDownload 
-                    'labmulticasttwisted', +from pymultilame.mytools import MyTools 
-                    'labtcptwisted'+from pymultilame.tcpclient import TcpClient
-     ) +
-</code> +
-===== Ressources sur toutes les possibilités des classifiers =====+
  
-  * https://pypi.python.org/pypi?:action=list_classifiers+</file>
  
 +==== Ressources sur toutes les possibilités des classifiers ====
 +
 +  * [[https://pypi.python.org/pypi?:action=list_classifiers|Liste des classifiers]]
 ===== Installation ===== ===== Installation =====
  
-==== Directe dans le dossier des sources ====+==== Dans le home, dans le dossier des sources ==== 
 +Pour le développement, en particulier:
  
-  sudo python3 setup.py install+  pip3 install . 
 +   
 +  
  
 ==== Avec pip et téléchargement sur github ==== ==== Avec pip et téléchargement sur github ====
  
-  sudo pip3 install -e git+https://github.com/sergeLabo/mylabotools.git#egg=mylabotools+  sudo pip3 install -e git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
  
 Mise à jour: Mise à jour:
-  sudo pip3 install --upgrade git+https://github.com/sergeLabo/mylabotools.git#egg=mylabotools +  sudo pip3 install --upgrade git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
- +
-==== Utilisation ==== +
- +
-<code python> +
-import mylabotools +
- +
-ou +
- +
-from mylabotools import labtcpclient +
-</code> +
-====== A faire ======+
  
-  * créer une doc avec sphinx ou doxygen +=====Utilisation===== 
-  * créer des dossiers par type: blender, network, bazar +  * Voir Mes outils personnel avec **[[pymultilame|pymultilame]]**
-  créer un package lalabomedia, digue dondaine+
  
 {{tag>python sb}} {{tag>python sb}}
creer_son_propre_package_python.1532264625.txt.gz · Dernière modification : 2018/07/22 13:03 de serge