layout |
---|
post.html |
Este sitio web está gestionado por la organizadoras de PyLadies Madrid y está abierto a pull requests de cualquier miembro de la comunidad.
Este es el código de la web https://madrid.pyladies.com. En ella hemos
utilizado mynt
para la generación del sitio estático, y está basado en
🐍 Python 3.7 🐍!
En este apartado se ofrece una vista general de la organización de los ficheros de este repositorio.
En general se utiliza la estructura de ficheros generada por mynt
, la cual se
explica en su documentación aquí
Además, el fichero requirements.txt
contiene las dependencias del proyecto, y
los ficheros runtime.txt
y netlify.toml
sirven para facilitar la configuración
de su despliegue en netlify
Linux, macOS
-
Comprueba que Python 3.7 está instalado introduciendo
python3.7 --version
en una terminal. Si no lo está, puedes descargarlo en la web https://python.org:$ python3.7 --version Python 3.7.5
-
(Opcional) Puedes comprobar la ruta donde está instalado Python usando
which python
:$ which python3.7 /usr/bin/python3.7
Si te aparece un directorio distinto no te preocupes, puede ser normal.
¡Estupendo, ya lo tienes!
Windows
El proceso es similar al de Linux/mac-OS, pero con algunos comandos distintos. Es útil tener como referencia la Tabla de comandos básicos de Powershell.
-
En GitHub, haz
fork
de https://github.com/pyladies/pyladies-madrid-website.git en tu cuenta de Github<YOUR_GITHUB_USER_NAME>
pressionando el botón de Fork en la esquina superior derecha de la pantalla. -
En un directorio local (por ejemplo, uno llamado
pyladiesmadrid
), clona el repositorio del que acabas de hacer el fork usandogit clone
:
(venv) $ git clone https://github.com/<YOUR_GITHUB_USER_NAME>/pyladies-madrid-website.git
Cloning into 'pyladies-madrid-website'...
remote: Enumerating objects: 47, done.
remote: Counting objects: 100% (47/47), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 5877 (delta 22), reused 38 (delta 16), pack-reused 5830
Receiving objects: 100% (5877/5877), 39.73 MiB | 3.62 MiB/s, done.
Resolving deltas: 100% (2922/2922), done.
Has clonado con éxito el repo de pyladies-madrid-website. 😄
-
En el directorio
pyladies-madrid-website
, ejecuta el siguiente comando para crear un virtualenv llamadovenv
:$ python3.7 -m venv venv
-
Activa el entorno virtual:
$ source venv/bin/activate (venv)$
Tras activar el entorno, debes observar
(venv)
en cada línea nueva de tu consola.
Nota de error (AttributeError: 'module' object has no attribute 'X509_up_ref'
): El error proviene de PyOpenSSL.
Puede deberse a que tu versión de OpenSSL es demasiado antigua o demasiado nueva. Prueba aumentando o disminuyendo
la versión de OpenSSL and PyOpenSSL instalada en tu entorno.
Nota de error en algunos sistemas operativos, asegúrate de tener las cabeceras para python y libevent
instaladas (p.e., en Ubuntu, python-dev y libevent-dev). Los paquetes especificados en el fichero
requirements.txt
son necesarios para que la web se construya con éxito en mynt.
-
Asegúrate de estar en el raíz del repo con el entorno virtual activado:
(venv) $ pwd YOUR_PATH/pyladies-madrid-website
-
Instala las dependencias con
pip
:(venv) $ pip install -r requirements.txt # Verás cómo se van instalando las distintas librerías en tu entorno # No pasa nada si alguna de las versiones es ligeramente distinta a la de este log Successfully built hoep MarkupSafe mynt pathtools pycparser PyYAML watchdog Installing collected packages: argh, asn1crypto, six, pycparser, cffi, bcrypt, idna, enum34, ipaddress, cryptography, docutils, pyasn1, PyNaCl, paramiko, Fabric, hoep, MarkupSafe, Jinja2, Pygments, PyYAML, pathtools, watchdog, mynt Successfully installed Fabric-1.13.1 Jinja2-2.9.6 MarkupSafe-1.0 PyNaCl-1.1.2 PyYAML-3.12 Pygments-2.2.0 argh-0.26.2 asn1crypto-0.22.0 bcrypt-3.1.3 cffi-1.10.0 cryptography-2.0.3 docutils-0.14 enum34-1.1.6 hoep-1.0.2 idna-2.6 ipaddress-1.0.18 mynt-0.3.1 paramiko-2.2.1 pathtools-0.1.2 pyasn1-0.3.2 pycparser-2.18 six-1.10.0 watchdog-0.8.3
-
Usa mynt para generar y publicar el sitio web en tu entorno local con
mynt gen -f _site && mynt serve _site
:(venv) $ mynt gen -f _site && mynt serve _site >> Parsing >> Rendering >> Generating Completed in 1.114s >> Serving at 127.0.0.1:8080 Press ctrl+c to stop.
-
Copia la IP que te indica
mynt
cuando termina de construir el sitio. En el log verás algo como>> Serving at 127.0.0.1:8080
. Después pega la IP en la barra de tu navegador para comprobar que el sitio está correctamente desplegado.
Enhorabuena, ya tienes la web corriendo en tu ordenador 🎉 🐍
- (Opcional: A tener en cuenta con cada cambio que realices en el código)
Para visualizar los cambios que realices en el código tienes que regenerar la
web de nuevo. Para ello, pulsa las teclas
crtl
+c
en la terminal para para el servidor que se esté ejecutando, ejecuta el comando del paso 3 y a continuación vuelve a refrescar la ventana del navegador web.