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 usando
git 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. :smile:
En el directorio pyladies-madrid-website
, ejecuta el siguiente comando para crear un virtualenv llamado venv
:
$ 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 :tada: :snake:
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.