Desarrollo de paquetes en Python
James Fulton
Climate informatics researcher
Dentro de example_script.py
import mysklearn
Árbol de directorios para un paquete con subpaquetes
home/
|-- mysklearn <-- en el mismo directorio
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| `-- utils.py
|-- example_script.py <-- en el mismo directorio
Dentro de example_script.py
import mysklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'mysklearn'
Árbol de directorios
home/
|-- mypackages
| |-- mysklearn <---
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| |-- __init__.py
| |-- regression.py
`-- myscripts
`-- example_script.py <---
Estructura del paquete con subpaquetes
mysklearn/
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
Estructura del paquete con subpaquetes
mysklearn/ <-- directorio externo
|-- mysklearn <--- directorio interno con el código fuente
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
Estructura del paquete con subpaquetes
mysklearn/ <-- directorio externo
|-- mysklearn <--- directorio interno con el código fuente
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py <-- script de instalación en el externo
# Import required functions from setuptools import setup# Call setup function setup(author="James Fulton",description="A complete package for linear regression.",name="mysklearn",version="0.1.0",)
número de versión = (versión mayor) . (versión menor) . (parche)
# Import required functions from setuptools import setup, find_packages # Call setup function setup( author="James Fulton", description="A complete package for linear regression.", name="mysklearn", version="0.1.0",packages=find_packages(include=["mysklearn", "mysklearn.*"]),)
pip install -e .
. = paquete en el directorio actual-e = editableÁrbol de directorios para un paquete con subpaquetes
mysklearn/ <-- navega hasta aquí
|-- mysklearn
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py
Desarrollo de paquetes en Python