Acabo de comprobar y se puede usar cookiecutter en la terminal de un Deepnote, esto tiene potencial
Plantillas de proyectos para ciencia de datos
¿Qué son y por qué utilizar plantillas de proyectos?
Instalar Cookiecutter
Crear plantillas de proyecto personalizadas
Implementar hooks
Distribuir plantilla de proyecto
Manejo de archivos en Python
Manejo de rutas: problemática
Manejo de rutas del sistema: OS
Manejo de rutas del sistema: Pathlib
Manejo de rutas del sistema: PyFilesystem2
Crear referencias relativas de archivos
Caso práctico
Descarga de plantilla y configuración de ambiente virtual
Utilizar proyecto como un módulo de Python
Flujo de trabajo de los notebooks
Conclusiones
Aplica estas herramientas
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Jesús Vélez Santiago
Es un manejador de plantillas multiplataforma (Windows, Mac OS, Linux) que te permite hacer plantillas en lenguaje de programación o formato de marcado. Puede ser usado como herramienta de línea de comandos o como librería de Python.
Cookiecutter funciona con Jinja, un motor de plantillas extensible con el cual puedes crear plantillas como si estuvieras escribiendo código en Python.
Hay 3 pasos para entender la manera en que funciona:
Existen 3 tipos diferentes de bloques:
{{ cookiecutter.saluda }}
{% if coockiecutter.eres_asombroso %}
. . .
{% endif %}
{# Esto es un comentario #}
Importante: Todos los pasos son vía consola y con Anaconda instalado.
mkdir <nombre_carpeta>
cd <nombre_carpeta>
conda config --add channels conda-forge
conda create --name <nombre_ambiente> coockiecutter=1.7.3
conda activate <nombre_ambiente>
conda env export --from-history --file environment.yml
Para desactivar el ambiente virtual:
conda deactivate
Contribución creada por: Néstor Arellano.
Aportes 43
Preguntas 19
Acabo de comprobar y se puede usar cookiecutter en la terminal de un Deepnote, esto tiene potencial
python3 -m
:python3 -m cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
Entendido y creo que nos ahorra mucho tiempo.
mkdir cookiecutter-persona
cd cookiecutter-personal
conda config --add channels conda-forg
#Crear ambiente
conda create --name cookiecutter-personal cookiecutter=1.7.3
#Ir al ambiente
conda activate cookiecutter-personal
#Exportar el ambiente
conda env export --from-history --file environment.yaml
#Ver el archivo
cat environment.yaml
#Crear la plantilla con cookiecutter
cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
Hola, dejo la documentacion de cookiecutter y el comando para instalar en linux distros basadas en ubuntu 😃
https://cookiecutter.readthedocs.io/en/latest/installation.html
sudo apt-get install cookiecutter
pal que tenga windows y siguió los cursos le hacen en la consola de anaconda y facilito :3
Windows: las instruccion para esta clase son 2.
$ python -m pip install --user cookiecutter
$ python -m cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
Es un manejador de plantillas multiplataformal, por lo que las plantillas se pueden utilizar en cualquier lenguaje de programación o formato de marcado.
Además puede ser utilizado como una herramienta de línea de comandos o como una librería de Python
cookiecutter va a detectar una sintaxis especial en tus documentos, en tus sistemas de carpetas y archivos, ya sea de forma local (ya sea que este dentro de la computadora) o una carpeta que este en la nube (por ejemplo en un repositorio de github). Va a procesar esta estructura, va a ver ciertas variables, va a buscar ciertas variables, va a buscar valores para reemplazar, y finalmente te va a entregar un nuevo proyecto, con la estructura definida en la plantilla subsistituyendo todos esos valores.
Detras de escenas, cookiecutter, funciona con Jinja que es un motor de plantillas que es muy extensible y muy bonito por que te permite escribir plantillas, como si estuvieras escribiendo python. Por lo que si sabes python, escribir plantillas con Jinja se te va a hacer muy simiar, por que su sintaxis se basa en tres bloques principales.
{{cookiecutter.saluda}}
Hola, científico de datos
{% if cookiecutter.eres_asombroso %}
¡Genial, por su puesto que lo eres!
{%endif%}
{#¡Has aprendido bastante!#}
Los bloques de expresión son aquellos donde se definen dos pares de {{}} y dentro vas a tener una variable que quiere que se incluya en tu plantilla.
Los bloques declarativos son aquellos en los que se pueden utilizar condicionales, foor loops o más. Estos se definen por {% % } y dentro se describe la acción que se quiere hacer, y para cerrar este bloque, siempre es necesario colocar un {%endif%} o un {%endfor%}
Finalmente tienes los bloques de tipo comentario, que son los bloques que tienes en tu plantilla pero cuando la corras ya no estarán en tu plantilla. Por lo que son muy útiles para dejar recomendaciones para el futuro.
Para los que están desde la consola:
pip freeze > environment.yml
virtual env es la version ligera para crear ambientes en python, en lo personal prefiero usar venv a conda ya que las carpetas con el contenido del ambiente virtual las puedes tener en la misma carpeta del proyecto. Aunque en ocaciones cuando quiero hacer pruebas rapidas donde ya tenga todo el suit de librerias de DS utilizo el ambiente BASE de CONDA.
aqui dejo el codigo de la clase en venv:
python3 -m pip install --upgrade pip
pip install virtualenv
virtualenv venv
source “venv/Scripts/activate”
pip install "cookiecutter==1.7.3"
echo cookiecutter==1.7.3 > requirements.txt
si esta linea tiene una falla : source “venv/Scripts/activate”
intenten:
-Si no puedes descargar el paquete coockiecutter puede ser que tengas mal el nombre del canal conda-forge.
-El problema era que mi canal se llamaba conda-forg por eso la terminal no podía comunicarse con el repositorio. -Para ver si te pasa lo mismo usa: conda config --show channels
-Para solucionarlo tienes que crear un canal con el nombre correcto y eliminar el canal anterior.
-Para arreglarlo creé un nuevo canal llamado conda-forge y eliminé el que se llamaba conda-forg.
1)conda config --add channels conda-forge
2)conda config --remove channels conda-forg
Si estas en en linux puedes usar
sudo apt install python3-cookiecutter -y
O utilizando el gestor de paquetes de python
sudo apt install python3-pip
python3 -m pip install cookiecutter
Este curso esta super 😃
En windows 10 teniendo instalado Anaconda en el prompt, para ejecute lo siguiente:
conda info
conda config --show-sources
conda list --show-channel-urls
conda config --remove-key channels
conda create --name cookiecutter-personal cookiecutter=1.7.3
conda activate cookiecutter-personal
conda env export --from-history --file environment.yaml
cat environment.yaml
Para los que usan cmder o gitbush pueden instalarlo de la siguiente manera:
python -m pip install --user cookiecutter
Genial!
Jamás habia escuchado hablar de cookiecutter
Alguien más quedo así 😱 al finalizar la clase?
me sale este error, ayudaa!
CondaHTTPError: HTTP 000 CONNECTION FAILED
Si ya haz trabajado con django notarás que es muy similar cuando escribes HTML. Esto es porque Cookiecutter y Django trabajan con Jinga.
😄
Me encanto esta forma de instalar cookiecutter. Tenia miedo al proncipio pero ya no es mas sencillo su forma de trabajar.
Cookiecutter es una herramienta de generación de proyectos que te permite crear estructuras de directorios y archivos predefinidos a partir de plantillas. Funciona mediante la utilización de plantillas de proyectos, donde se definen los archivos y directorios necesarios, así como las variables y lógica que se pueden personalizar al generar un nuevo proyecto.
Si tienen este error
(cookiecutter-personal) C:\Users\krist\cookiecutter-personal>https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
"https:" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
usen
git clone https://github.com/platzi/curso-entorno-avanzado-ds
Si tienes este error:
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
Usa esto y vuelve a ejecuar lo que ibas a instalar
conda config --set channel_priority strict
Interesante, al finalizar entendí mejor. Solo me deja inquieto que funciona para versiones de Python anteriores a la actual.
Para los que se preguntan como se instalo conda:
Aqui el link del video
Comandos de la clase:
Instalación de Cookiecutter
Importante: Todos los pasos son vía consola y con Anaconda instalado.
Crea una carpeta un entrar en ella:
mkdir <nombre_carpeta>
cd <nombre_carpeta>
Agrega el canal Conda-Forge a tu configuración global:
conda config --add channels conda-forge
Crea un ambiente virtual que contenga a Coockiecutter:
conda create --name <nombre_ambiente> coockiecutter=1.7.3
Activa el ambiente virtual:
conda activate <nombre_ambiente>
Definir en dónde estará tu ambiente:
conda env export --from-history --file environment.yml
Para desactivar el ambiente virtual:
conda deactivate
En Ubuntu, trabajando en la raíz. Crear un mkdir cookiecutter-personal. Listar y acceder con cd.
**
conda config --add channels conda-forge** El conda forge es en donde va a estar guardada y el conda config –add lo añade a la configuración local de todo el pc
conda create --name cookiecutter-personal cookiecutter=1.7.3
PARA ACTIVAR EL COMANDO ESCRIBIR
**conda activate cookiecutter-personal
conda deactivate **
PARA CREAR UN AMBIENTE
conda env export –from-history –file enviroment.yml
PARA CREAR EL ARBOL DE ARCHIVOS Y LA SECCIÓN DEL GITHUB DE LA CLASE
cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
PARA ENTRAR AL ARCHIVO
code cookiecutter_testing
Tenia problemas para instalarlo tal cual aparecia en el video, por lo que primero cree el ambiente virtual y despues instale cookiecutter dentro el, los comandos que utilize fueron
conda create --name plazti_ds
conda activate plazti_ds
conda install -c conda-forge cookiecutter
Se instala una versión más reciente de cookiecutter
al final apareció este error y no generó los archivos " File “<fstring>”, line 1
(project_slug=)
^
SyntaxError: invalid syntax
ERROR: Stopping generation because pre_gen_project hook script didn’t exit successfully
Hook script failed (exit status: 1)"
wowwww que genial!
Herramientas como esta realmente te hacen ser un profesional de la ciencia de datos más completo 😎🚀
una pronunciación más cercana sería cukicoter o cukicorer la u en este caso suena cercana a una o y la doble t entre t y r
En esta parte para los que usan una terminal de ubuntu en Windows y no les carga la instalacion del paquete, deben desahabilitar el firewall temporalmente para que deje realizar el proceso.
#Crear ambiente
conda create --name cookiecutter-personal cookiecutter=1.7.3
Super interesante herramienta
Pasos de instalación
Increíble !! Algo que jamás me enseñaron en la uni hasta ahorita 😱 .
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?