Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hacer la generación de la Documentación compatible con Windows #66

Open
raulcd opened this issue May 5, 2020 · 5 comments
Open

Hacer la generación de la Documentación compatible con Windows #66

raulcd opened this issue May 5, 2020 · 5 comments

Comments

@raulcd
Copy link
Collaborator

@raulcd raulcd commented May 5, 2020

En Telegram ha aparecido varias veces la pregunta de como hacer la generación de la documentación local en Windows. Deberíamos documentar cómo conseguirlo y añadirlo al Contribution guide.

@yeyeto2788
Copy link
Contributor

@yeyeto2788 yeyeto2788 commented Oct 19, 2020

@raulcd esto creo que puediera ayudar AFPy/powrap#82, parece que el error esta en una dependencia de powrap. Igualmente si toda la traduccion se hace desde Poedit, poniendo el limite a 70 muchos PR pasan sin necesidad de tener que ejecutar el comando powrap <path_del_archivo>.

Aqui adjunto la imagen de la configuracion en Poedit.
image

Saludos.

P.D: Honestamente no he probado la parte de pospell pero el wrapping creo que es una cosa que falla mucho en los PR y pudiera ayudar el hecho de aplicar este cambio en la aplicacion.

@G0erman
Copy link
Contributor

@G0erman G0erman commented Oct 20, 2020

@raulcd Yo estoy trabajando de la siguiente forma sobre plataformas Windows, ¿Crees que le podría servir a alguien más?

  • Problema: no es tan fácil arregla un archivo que necesita tener la estructura powrap sobre máquinas Windows.
  • Solución: Instalar imagen docker con el mismo ambiente de desarrollo, para evitar problemas con diferencia de paquetes.

Requisitos:

  • Instalar Docker WSL2 (Windows Subsystem for Linux - WSL 2)
  • Crear el siguiente Dockerfile
> cat Dockerfile
# Download docker image, It download a ubunto distro with Python 3.8
FROM python:3.8

# Install os dependences
RUN apt-get update && apt-get -y install \
    gettext hunspell hunspell-es

# Download requirements
RUN curl -O https://raw.githubusercontent.com/python/python-docs-es/3.8/requirements.txt

# Install python packages
RUN pip3 install -r requirements.txt

# Setup Volume and work directory
VOLUME /user/home/python-docs-es
WORKDIR /user/home/python-docs-es

Procedimiento

  • Asegurarse que Docker Desktop está corriendo.
  • Abrir una consola del sistema como administrador.
  • Crear imagen desde Dockerfile
> docker build --tag python-docs-es .
> docker images # Verify the image was builded 
python-docs-es                         latest              c4345e08cb800        48 seconds ago      1.03GB
  • Ejecutar contenedor, remplazar C:\\Users\\your.user\\python-docs-es por la ruta Windows en donde clonaste el repo.
> docker run -it -v C:\\Users\\your.user\\python-docs-es:/user/home/python-docs-es python-docs-es bash
> powrap library/sqlite3.po # Fix file
Fixing wrapping of po files: 100%|██████████████████████████████████████████████████████████████| 1/1

Y listo, el volumen de la máquina linux está sincronizado con la carpeta de Windows.

Nota: este mismo contenedor se podría usar para más cosas que solamente corregir los archivos .po, pero por ahora solo lo he usado para eso.

@cmaureir
Copy link
Collaborator

@cmaureir cmaureir commented Oct 21, 2020

No me parece tan adecuado recomendar utilizar Docker, ya que si la gente tiene problema con instalar hunspell para Windows, va a ser un nivel de complejidad mucho más alto.

Los pasos oficiales son bastante claros y sin software externo: https://docs.microsoft.com/en-us/windows/wsl/install-win10
Una vez con la terminal, es cosa de seguir los pasos de crear un nuevo entorno virtual e instalar las herramientas ahí.

Adicionalmente,los pasos para que funcione Hunspell no son muchos:

  1. Descargar hunspell-1.3.2-3-w32-bin.zip desde https://sourceforge.net/projects/ezwinports/files/
  2. Descomprimir el directorio en algún lugar, por ejemplo en C:\hunspell\
  3. Agregar el nuevo directorio al path: set PATH="C:\hunspell\bin";%PATH%
  4. Descargar un diccionario es_ES de algún lugar, por ejemplo: https://kitscenarist.ru/downloads/hunspell/

Luego, pospell instalado en un entorno virtual va a poder usar hunspell y el diccionario que puede estar en el sistema o en el directorio donde se ejecuta pospell.

@G0erman
Copy link
Contributor

@G0erman G0erman commented Oct 21, 2020

Vale, deacuerdo, para instalar Docker sobre Windows hay que hacer varias cosas, tener las actualizaciones al día, habilitar virtualización en la BIOS, etc.

Si extraoficialmente alguien ya paso por eso y quiere jugar con Docker para ahorrarse unos pasos, acá dejo la imagen publicada:

docker run -it -v C:\\your.path\\python-docs-es:/user/home/python-docs-es gedarafi/python-docs-es bash
  
# Fix po file
powrap library/sqlite3.po

Nota: experimetal, hacerlo solo si se siente con suerte :D

@cmaureir
Copy link
Collaborator

@cmaureir cmaureir commented Oct 21, 2020

Me hubiera gustado mucho la verdad, tener un contenedor listo para usar...pero participé en un workshop una vez, donde se fue más de la mitad en que todos tuvieran Docker instalado :( y luego con el tema de "pero en Windows...", "pero en macOS..." :'(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.