Saltar al contenido

¿Cómo organizar un Proyecto Python?

Investigamos en diferentes foros y así traerte la solución a tu problema, en caso de preguntas deja la duda y te contestaremos sin falta, porque estamos para servirte.

Solución:

Un paquete es básicamente una carpeta con __init__.py debajo de él y, por lo general, algunos Módulos, donde Módulo es un *.py expediente. Que tiene que ver con import principalmente. si agregas __init__.py a Indicadores que puedes usar:

from Indicators.Stochastics import *

o

from Indicators import Stochastics

Por cierto, recomendaría mantener los nombres de módulos/paquetes en minúsculas. No afecta la funcionalidad pero es más “pitónico”.

Desde la perspectiva del sistema de archivos, un módulo es un archivo que termina en .py y un paquete es una carpeta que contiene módulos y paquetes (anidados) nuevamente. Python reconoce una carpeta como un paquete si contiene un __init__.py expediente.

Una estructura de archivos como esa

some/
    __init__.py
    foofoo.py
    thing/
        __init__.py
        barbar.py

define el paquete someque tiene un módulo foofoo y un paquete anidado thingque nuevamente tiene un módulo barbar. Sin embargo, cuando usa paquetes y módulos, realmente no distingue estos dos tipos:

import some

some.dothis() # dothis is defined in 'some/__init__.py'

import some.foofoo # <- module
import some.thing # <- package

Siga PEP8 al seleccionar el nombre de sus paquetes/módulos (es decir, use nombres en minúsculas).

Ver python-package-template

Estructura de directorios

    .
    |-- bin
    |   `-- my_program
    |-- docs
    |   `-- doc.txt
    |-- my_program
    |   |-- data
    |   |   `-- some_data.html
    |   |-- __init__.py
    |   |-- submodule
    |   |   `-- __init__.py
    |   |-- helpers.py
    |-- tests
    |   |-- __init__.py
    |   |-- test_helpers.py
    |-- Makefile
    |-- CHANGES.txt
    |-- LICENSE.txt
    |-- README.md
    |-- requirements-dev.txt
    |-- requirements.txt
    `-- setup.py

gato Makefile

    PYTHON=`which python`
    NAME=`python setup.py --name`


    all: check test source deb

    init:
        pip install -r requirements.txt --use-mirrors

    dist: source deb

    source:
        $(PYTHON) setup.py sdist

    deb:
        $(PYTHON) setup.py --command-packages=stdeb.command bdist_deb

    rpm:
        $(PYTHON) setup.py bdist_rpm --post-install=rpm/postinstall --pre-uninstall=rpm/preuninstall

    test:
        unit2 discover -s tests -t .
        python -mpytest weasyprint

    check:
        find . -name *.py | grep -v "^test_" | xargs pylint --errors-only --reports=n
        # pep8
        # pyntch
        # pyflakes
        # pychecker
        # pymetrics

    clean:
        $(PYTHON) setup.py clean
        rm -rf build/ MANIFEST dist build my_program.egg-info deb_dist
        find . -name '*.pyc' -delete

Comentarios y calificaciones del artículo

Más adelante puedes encontrar las anotaciones de otros creadores, tú todavía puedes dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *