Le modèle de projet Python auquel je pense.

Voici les modèles de projets Python auxquels je pense. Je n'ai jamais formé une équipe pour développer un projet, donc je ne connais pas le site. ** S'il vous plaît laissez-nous savoir si vous avez des suggestions.

Structure du répertoire

Le premier est la structure du répertoire. Le nom lors de l'importation avec Python sera nom de module. Il n'est pas nécessaire de préparer build ou venv, mais build est créé pour encourager l'utilisation de setup.py, et venv est créé pour encourager l'utilisation de virtualenv. Vous pouvez les écrire dans README.md.

Direcotry


Project\
    modulename\
        hoge.py
    build\
    test\
        test_hoge.py
    docs\
    venv\
    requirements.txt
    setup.py
    LICENCSE
    README.md
    MANIFEST.in

requirements.txt Exportez votre environnement de développement vers requirements.txt.

pip3 freeze > requirements.txt
# install : pip3 install -r requirements.txt

setup.py

setup.py


#!/usr/bin/env python3
# coding:utf-8

from setuptools import setup

setup(name='Hoge_Project',
      version='0.0.1',
      description='Python Hoge_Project.',
      author='spam',
      author_email='[email protected]',
      url='http://hoge.com',
      packages=['modulename'],
      #install_requires=['hoge','spam','hoge_spam'],
    )

Post-scriptum: 23/08/2016

MANIFEST.in Depuis que hatchinee l'a souligné, je vais l'ajouter. Si vous utilisez setup.py lors de l'empaquetage, par défaut, seuls les fichiers source python sont ajoutés. Par conséquent, lors de l'empaquetage, les fichiers autres que python doivent être explicitement spécifiés.

#Emballage
python setup.py sdist   
#or 
python setup.py bdist_wheel

MANIFEST.in


include MANIFEST.in                                                                                                                
include *.txt                                                                                                                      
# Top-level                                                                                                                        
include setup.py README.md LICENCSE                                                                                                                 
# All-source file                                                                                                                  
recursive-include modulename *                                                                                                     
# All documentation                                                                                                                
recursive-include docs *
# Exclude what we don't want to include
global-exclude *.pyc *~ *.bak *.swp *.pyo

C'est facile, mais c'est tout.

Recommended Posts

Le modèle de projet Python auquel je pense.
Je ne connaissais pas les bases de Python
le zen de Python
Essayez Progate Free Edition [Python I]
Modèle de script python pour lire le contenu du fichier
Vers la retraite de Python2
Autour de l'installation du framework de gestion de projet Python Trac
J'ai vérifié les versions de Blender et Python
J'ai essayé d'utiliser l'API de Sakenowa Data Project
Tâches au démarrage d'un nouveau projet python
À propos des fonctionnalités de Python
J'ai téléchargé la source python
Le pouvoir des pandas: Python
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
J'ai écrit la grammaire de base de Python dans Jupyter Lab
J'ai évalué la stratégie de négociation du système boursier avec Python.
Ce que j'ai appris en résolvant 30 questions du projet python Euler
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
Je veux connaître la nature de Python et pip
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
L'histoire de Python et l'histoire de NaN
[Python] La pierre d'achoppement de l'importation
J'ai étudié le mécanisme de connexion flask!
Existence du point de vue de Python
Revue des bases de Python (FizzBuzz)
J'ai écrit la file d'attente en Python
À propos de la liste de base des bases de Python
J'ai écrit la pile en Python
Apprenez les bases de Python ① Débutants élémentaires
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai comparé le temps de calcul de la moyenne mobile écrite en Python
[Python] J'ai écrit la route du typhon sur la carte en utilisant le folium
Je veux sortir le début du mois prochain avec Python
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de la régression logistique
J'ai écrit le code pour écrire le code Brainf * ck en python
J'ai fait réfléchir AI aux paroles de Genshi Yonezu (pré-traitement)
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de l'arbre de décision
[Super basiques de Python] J'ai appris les bases des bases, donc je l'ai résumé brièvement.
J'ai fait réfléchir AI aux paroles de Genshi Yonezu (implémentation)
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai vérifié le contenu du volume du docker
Changer la longueur des chaînes csv Python
J'ai essayé le serveur asynchrone de Django 3.0
Vérifiez le comportement du destroyer en Python
[Python3] Comprendre les bases de Beautiful Soup
Passez le chemin du module python importé
Notes d'apprentissage depuis le début de Python 1
Vérifier l'existence du fichier avec python
À propos de l'environnement virtuel de Python version 3.7
[Python3] Réécrire l'objet code de la fonction
Le résultat de l'installation de python sur Anaconda
[Python] Essayez pydash de la version Python de lodash