Replicar en W11 un entorno python de Ubuntu


En efecto es posible replicar en Windows 11 un entorno Python de Ubuntu como por ejemplo toda la Instalación de NILMTK o incluso NILMTK_CONTRIB

Para replicar tu instalación de NILMTK de Ubuntu en Windows 11 utilizando el Subsistema de Windows para Linux (WSL), sin Conda pero con Jupyter Notebook, y ya disponiendo del fichero requirements.txt y las carpetas nilmtknilm_metadata y nilmtk-contrib, puedes seguir estos pasos:

1. Preparar el Entorno WSL

Asegúrate de que tu distribución de Linux en WSL (por ejemplo, Ubuntu) tenga Python 3.6+ y pip instalados. NILMTK requiere Python 3.6 o superior.

  • Puedes verificar las versiones con python3 --version y pip3 --version.
  • Si es necesario, instálalos o actualízalos. Para Ubuntu en WSL, puedes usar:bashsudo apt update sudo apt install python3 python3-pip

2. Instalar Jupyter Notebook en WSL

Instala Jupyter Notebook usando pip en tu terminal WSL:

  • Ejecuta el comando:bashpip3 install jupyter Esto instalará Jupyter en tu espacio de usuario5.
  • Es posible que necesites añadir ~/.local/bin a tu variable de entorno PATH si los comandos de Jupyter no se encuentran. Edita tu archivo ~/.bashrc (o ~/.zshrc si usas Zsh) y añade la siguiente línea:bashexport PATH="$HOME/.local/bin:$PATH" Luego, aplica los cambios con source ~/.bashrc (o source ~/.zshrc)4.

3. Configurar las Carpetas y Dependencias de NILMTK

Copiar carpetas:
Transfiere tus carpetas nilmtknilm_metadata y nilmtk-contrib a un directorio de proyecto adecuado dentro del sistema de archivos de WSL (por ejemplo, ~/mi_proyecto_nilmtk/).

Instalar dependencias desde requirements.txt:
Navega en la terminal WSL al directorio donde se encuentra tu archivo requirements.txt (probablemente dentro de ~/mi_proyecto_nilmtk/). Luego, instala las dependencias:

bashcd ~/mi_proyecto_nilmtk
pip3 install -r requirements.txt

Si encuentras errores relacionados con la compilación de paquetes, es posible que necesites instalar herramientas de compilación. En Ubuntu WSL, esto se puede hacer con: sudo apt install build-essential.

Instalar nilm_metadata y nilmtk en modo desarrollo:
Esto permite que Python encuentre los paquetes en las carpetas que has copiado.

  • Para nilm_metadata (asumiendo que «nilmk-metadata» es un error tipográfico):bashcd ~/mi_proyecto_nilmtk/nilm_metadata # Ajusta la ruta si es diferente python3 setup.py develop
  • Para nilmtk:bashcd ~/mi_proyecto_nilmtk/nilmtk # Ajusta la ruta si es diferente python3 setup.py develop La instalación en modo desarrollo (develop) es útil para asegurar que los cambios en el código fuente se reflejen inmediatamente sin necesidad de reinstalar2.

Carpeta nilmtk-contrib:
El manejo de la carpeta nilmtk-contrib dependerá de su contenido. Si contiene paquetes Python adicionales con sus propios archivos setup.py, podrías necesitar instalarlos de manera similar. Si son datos o scripts, asegúrate de que estén en una ubicación accesible para tu proyecto.

4. Ejecutar Jupyter Notebook desde WSL

Navega en tu terminal WSL al directorio de tu proyecto (donde deseas que Jupyter Notebook acceda a los archivos y donde se guardarán los nuevos notebooks), por ejemplo, ~/mi_proyecto_nilmtk/.

  • Inicia Jupyter Notebook con el siguiente comando:bashjupyter notebook --no-browser La opción --no-browser evita que WSL intente abrir un navegador en el entorno Linux, lo cual generalmente no es deseado46.
  • La terminal mostrará un mensaje con una o más URLs, usualmente comenzando con http://localhost:8888/ e incluyendo un token de seguridad46. Copia una de estas URLs completas.
  • Abre un navegador web en Windows 11 (como Edge, Chrome o Firefox) y pega la URL copiada en la barra de direcciones.

5. Verificar la Instalación de NILMTK

Dentro de la interfaz de Jupyter Notebook en tu navegador:

  • Crea un nuevo notebook de Python 3.
  • En una celda de código, ejecuta:pythonimport nilmtk print(nilmtk.__version__)
  • Si no aparecen errores y se muestra la versión de NILMTK, la instalación se ha replicado correctamente y NILMTK está listo para usarse1.

Siguiendo estos pasos, deberías poder replicar tu entorno NILMTK en WSL en Windows 11, utilizando tus archivos y carpetas existentes y cumpliendo con tus requisitos de no usar Conda y sí Jupyter Notebook.

error

A veces a pesar de todo y seguir al pie de las letra los manuales no salen bien las cosas, A continuación algunos de los errores que podemos tener en la instalación:

Error externally-managed-environment

El error error: externally-managed-environment que estás viendo indica que tu sistema Linux (dentro de WSL) gestiona los paquetes de Python a través de su propio administrador de paquetes (como apt en Ubuntu/Debian) para evitar conflictos y asegurar la estabilidad del sistema 145. Por lo tanto, pip no te permite instalar paquetes globalmente por defecto.

La forma recomendada y más segura de proceder es crear un entorno virtual. Esto aislará tu proyecto de NILMTK y sus dependencias, incluyendo Jupyter, del Python del sistema 45.

Aquí te explico cómo continuar:

METODO 1

1. Crear y Activar un Entorno Virtual en WSL

En tu terminal WSL, antes de intentar instalar Jupyter o cualquier otro paquete con pip, crea un entorno virtual. Es una buena práctica hacerlo dentro de tu directorio de proyecto.

  • Navega a tu directorio de proyecto (donde tienes las carpetas nilmtknilm_metadatanilmtk-contrib y tu requirements.txt):bashcd ~/mi_proyecto_nilmtk # O la ruta donde hayas puesto tus archivos
  • Crea el entorno virtual (puedes llamarlo venv_nilmtk o como prefieras):bashpython3 -m venv venv_nilmtk Es posible que necesites instalar primero el paquete python3-venv si no está disponible: sudo apt install python3-venv 5.
  • Activa el entorno virtual:bashsource venv_nilmtk/bin/activate Una vez activado, tu prompt de la terminal debería cambiar para indicar que estás dentro del entorno virtual (por ejemplo, (venv_nilmtk) canjayar@carlosrn:...$).

2. Instalar Jupyter y tus Dependencias Dentro del Entorno Virtual

Ahora que el entorno virtual está activo, pip (o python -m pip) instalará los paquetes dentro de este entorno aislado, sin afectar al sistema global.

  • Instala Jupyter Notebook:bashpip install jupyter (Dentro de un entorno virtual activado, generalmente pip se refiere al pip del entorno, que corresponde a la versión de Python con la que se creó el entorno).
  • Instala las dependencias de NILMTK desde tu archivo requirements.txt:bashpip install -r requirements.txt
  • Instala nilm_metadata y nilmtk en modo desarrollo (como se indicó anteriormente, pero ahora dentro del entorno virtual):bashcd nilm_metadata # Ajusta la ruta si es diferente python setup.py develop cd ../nilmtk # Ajusta la ruta si es diferente python setup.py develop cd .. # Vuelve al directorio raíz de tu proyecto

3. Ejecutar Jupyter Notebook

Con el entorno virtual aún activado:

  • Inicia Jupyter Notebook:bashjupyter notebook --no-browser
  • Copia la URL proporcionada (incluyendo el token) y pégala en tu navegador de Windows 11.

Otras Opciones (Menos Recomendadas)

  • Usar --break-system-packages: Podrías forzar la instalación global con pip3 install jupyter --break-system-packages 24. Sin embargo, esto no es recomendable ya que puede causar problemas con los paquetes gestionados por el sistema operativo y potencialmente romper tu instalación de Python o WSL 15.
  • Instalar con apt: Podrías intentar sudo apt install python3-notebook (el nombre del paquete puede variar). Esto instalaría la versión de Jupyter de los repositorios de tu distribución, que podría no ser la más reciente o la que necesitas. Generalmente, para desarrollo Python, se prefiere pip dentro de un entorno virtual para tener más control sobre las versiones de los paquetes.

Error de dependencias

El error en la instalación de dependencias, específicamente con nilm-metadata @ file:///home/user/nilm_metadata, se debe a que pip está intentando encontrar el paquete nilm-metadata en la ruta del sistema de archivos WSL (/home/user/nilm_metadata), pero esa ruta no es válida desde la perspectiva de Windows (donde la ruta correcta sería C:\Users\user\mi_proyecto_nilmtk).

Para solucionar esto, tienes que modificar la referencia a nilm-metadata en tu archivo requirements.txt para que pip pueda encontrar el paquete correctamente. Hay dos opciones principales:

Opción 1: Modificar requirements.txt para usar la ruta WSL correcta (recomendado)

  1. Edita requirements.txt dentro de WSL. Abre el archivo requirements.txt con un editor de texto (como nano o vim) dentro de tu entorno WSL.
  2. Encuentra la línea que menciona nilm-metadata. Debería ser algo como:textnilm-metadata @ file:///home/carlos/nilm_metadata
  3. Cambia la ruta a la ruta WSL correcta. Si tu directorio de proyecto mi_proyecto_nilmtk está directamente dentro de tu directorio de inicio en WSL, la ruta podría ser correcta. Sin embargo, si has movido la carpeta nilm_metadata a otro lugar dentro de WSL, asegúrate de que la ruta refleje la ubicación correcta dentro del sistema de archivos de WSL.Por ejemplo, si la estructura de directorios en WSL es:text/home/carlos/mi_proyecto_nilmtk/nilm_metadata Entonces la línea en requirements.txt debería ser:textnilm-metadata @ file:///home/carlos/mi_proyecto_nilmtk/nilm_metadata
  4. Guarda los cambios en requirements.txt.
  5. Reintenta la instalación:bashpip install -r requirements.txt

Opción 2: Eliminar la referencia y usar pip install -e . en la carpeta nilm_metadata

Esta opción es útil si planeas desarrollar activamente nilm_metadata y quieres que los cambios se reflejen inmediatamente.

  1. Elimina la línea de nilm-metadata de requirements.txt.
  2. Instala nilm_metadata en modo editable:bashcd nilm_metadata pip install -e . cd .. # Para volver al directorio principal de tu proyecto

Consideraciones Adicionales

  • Entornos Virtuales: Asegúrate de que tu entorno virtual esté activado cuando realices estos cambios y reinstales las dependencias.
  • Permisos: Los permisos de archivo dentro de WSL pueden ser a veces problemáticos, especialmente cuando se interactúa con archivos en el sistema de archivos de Windows. Si encuentras errores de permiso, verifica que tienes los permisos adecuados para leer y escribir en los directorios y archivos relevantes desde dentro de WSL. 3.
  • Rutas absolutas vs. relativas: En general, es mejor usar rutas relativas dentro de requirements.txt si es posible, para que el archivo sea más portátil. Sin embargo, con instalaciones locales como esta, a veces las rutas absolutas son más directas.
  • WSL2 file system: WSL2 utiliza un sistema de archivos virtualizado. Asegúrate de que las rutas sean correctas dentro de este sistema.

Al seguir estos pasos y asegurarte de que las rutas en tu requirements.txt son correctas para el sistema de archivos WSL, deberías poder resolver el error y continuar con la instalación de NILMTK.

El estado del arte de las calculadoras gráficas


Las calculadoras han recorrido un largo camino desde sus inicios como herramientas mecánicas simples hasta las potentes calculadoras gráficas de la actualidad. Si obviamos las calculadoras mecánicas y las electromecánicas usadas desde el siglo XVII al sigo pasado, las primeras calculadoras electrónicas surgieron en las década de 1960 coincidiendo con la invención del transistor , lo cual marcó el inicio de la era de las calculadoras electrónicas.

Las primeras calculadoras electrónicas, como la HP-9100A (1968), eran programables y costosas, pero sentaron las bases para el futuro. Mas adelante en la década de los 70’s surgieron las calculadoras científicas que ofrecieron funciones matemáticas y científicas predefinidas, como trigonometría, logaritmos y cálculo (HP-35 fue una de las primeras calculadoras científicas de bolsillo y un gran éxito).

Justo en la década de los 80′ surgen las calculadoras gráficas que permiten representar visualmente funciones matemáticas y ecuaciones, lo que facilita su comprensión y análisis. Precisamente la Casio FX-7000G (1985) fue una de las primeras calculadoras gráficas y marcó un hito en la evolución de las calculadoras pues a partir de ese modelo no han parado de evolucionar, siendo la mas reciente ( y popular) la Casio FX-CG50.

Las calculadoras gráficas actuales, como la Casio FX-CG50, son dispositivos potentes con pantallas de alta resolución, software de geometría dinámica, conectividad a ordenadores y otras funciones avanzadas. Las calculadoras gráficas son herramientas versátiles que permiten realizar una amplia gama de funciones matemáticas y científicas. Estas calculadoras se utilizan en diversos campos:

  • Educación: En aulas de matemáticas, física, química e ingeniería para ayudar a los estudiantes a visualizar y comprender conceptos matemáticos complejos.
  • Investigación científica: En laboratorios para realizar cálculos, analizar datos y representar resultados gráficamente.
  • Ingeniería: Para diseñar y analizar sistemas eléctricos, mecánicos y otros sistemas.
  • Finanzas: Para analizar datos financieros y tomar decisiones de inversión.

Algunas de sus capacidades incluyen funciones matemáticas (cálculo de integrales definidas, resolución de sistemas lineales con hasta 6 incógnitas, solución de ecuaciones polinómicas de hasta 6º grado, cálculos con números complejos ,operaciones vectoriales y matriciales, creación de hojas de cálculo, etc.) y funciones gráficas (representación de funciones rectangulares, paramétricas y polares, gráficas de la forma X=f(Y),resolución de inecuaciones, Zoom y función Trace, modo Conics (secciones cónicas ,etc.).

Además suelen incluir Software de geometría dinámica preinstalado y Add-In así como otras funciones como función Catálogo (lista con todos los comandos disponibles en la calculadora), programación en Python, posibilidad de ejecutar juegos arcade, etc.

Por si fuera poco no debemos olvidar que la mayoría de estos prodigios suelen incluir conectividad USB para transferencia de datos .

Al elegir una calculadora gráfica, es importante tener en cuenta sus necesidades y presupuesto. Algunas de las cosas que debe considerar incluyen:

  • Características: ¿Qué funciones necesita? ¿Necesita una calculadora con pantalla a color? ¿Necesita software de geometría dinámica?
  • Precio: ¿Cuánto está dispuesto a gastar?
  • Facilidad de uso: ¿Qué tan fácil es usar la calculadora?

Aquí hay algunas otras calculadoras gráficas populares en el mercado:

  • Texas Instruments TI-Nspire CX II-T CAS: Esta calculadora tiene una pantalla a color de alta resolución y un software de geometría dinámica integrado
  • Casio FX-9860GII: Esta calculadora tiene una pantalla de alta resolución y una gran memoria para almacenar datos y programas.
  • Hewlett Packard HP 50g: Esta calculadora tiene una pantalla táctil y un teclado QWERTY completo.
  • Destaca actualmente la Casio FX-CG50 como una de las mejores calculadoras gráficas del mercado. Es una calculadora completa y versátil que es ideal para estudiantes de secundaria, bachillerato y universidad.

La Casio FX-CG50

La Casio FX-CG50 es una calculadora gráfica a color de alta resolución con una amplia gama de funciones matemáticas y científicas siendo una de las calculadoras graficas mas usada en la actualidad. Esta calculadora se alimenta con 4 pilas AAA, pesa unos 230g con pilas incluidas y sus dimensiones son mas o menos similares a una calculadora científica, pero un poco mas ancha, pues sus dimensiones (Al x An x Pr) con 188,5 x 89 x 18,6 mm).

Esta calculadora con pantalla a color de alta resolución permite la programación en Python , pero además cuenta con Menú 3D ( geometría en el espacio) , funcionalidad E-CON4 ( registro de datos en experimentos) y función catálogo: lista con todos los comandos disponibles en la calculadora.

Destaca su conectividad USB para transferencia de datos lo cual puede ser sorprendentes en una «calculadora». Esto nos permite conectarla con otro ordenador via USB o incluso poder conectarla a otra calculadora al incluir un soporte de bus de tres hilos por ejemplo para realizar transferencias entre dos calculadoras con un cable con jacks de 3 1/2″.

Algunas de sus características principales son:

  • Pantalla:Pantalla a color de alta resolución con más de 65.000 colores,8 líneas x 21 caracteres, Tamaño de la pantalla (en píxeles): 216 x 384 e Iluminación de fondo.
  • Funciones matemáticas: Cálculo de integrales definidas, Sistemas lineales hasta 6 incógnitas, Ecuaciones polinómicas de hasta 6º grado, Cálculo con números complejos, Cálculo vectorial y matricial, Hoja de cálculo.
  • Funciones gráficas: Representación de funciones rectangulares, paramétricas y polares, Gráfica X=f(Y),Inecuaciones,Zoom, función Trace,Modo Conics (secciones cónicas),Software de geometría dinámica preinstalado y Add-In.
  • Otras funciones: Función Catálogo: lista con todos los comandos disponibles en la calculadora, Programación en Python.

Estamos pues ante una calculadora muy polivalente pudiendo representar funciones en 2D y 3D, realizar análisis estadísticos, resolver ecuaciones y programar en Python. Es pues una herramienta versátil para estudiantes, investigadores e ingenieros en diversos campos, si bien no goza de precio excesivamente popular pues el precio oscila entre los 150€ y 130€ en Amazon.

Software

El software disponible para la calculadora Casio FX-CG50 se puede dividir en dos categorías principales: sw preinstalado o sw adicional.

  • Software preinstalado: podríamos considerar al propio sistema operativo de la calculadora, pues el software base que controla las funciones básicas de la calculadora, pero además la calculadora viene con una serie de aplicaciones preinstaladas, como: Geometría: permite realizar construcciones geométricas y resolver problemas de geometría, Hoja de cálculo: permite realizar cálculos con tablas de datos, Cálculo: permite realizar operaciones matemáticas avanzadas, Programación: permite escribir programas en Python, Utilidades: Incluye herramientas como un conversor de unidades, un editor de texto y un calendario.
  • Software adicional o Add-Ins: Son programas que se pueden instalar en la calculadora para añadir nuevas funciones. Hay una amplia variedad de Add-Ins disponibles, incluyendo: Matemáticas: Álgebra lineal, cálculo integral y diferencial, estadística, etc,Ciencia: Física, química, biología, etc,Ingeniería: Electricidad, mecánica, electrónica, etc,Juegos: Ajedrez, Sudoku, etc., Emuladores: Permiten ejecutar programas de otras calculadoras Casio. Asimismo no podemos olvidar la conectividad, que permite conectar la calculadora a un ordenador o a un proyector bien para emularla ( en este modelo es de pago ) o bien para salvar los datos. En este sentido ,para acceder a todos estos recursos gratuitos nos podemos ir a la siguiente pagina oficial de Casio https://edu.casio.com/download_service/es/download/index.html.

Como vemos en la imagen de arriba ( que es copia de la pagina citada de Casio), podemos actualizar el sistema operativo de la calculadora, instalar adds-on ( 3d-Graph, Geometry, Phsium, Picture Plot, Conversion y Probabilyu Simularion) o descargar el programa Screen Receiver que nos permite salvar nuestras operaciones realizadas en la calculadora hacia nuestro ordenador.

Mención aparte son los emuladores , lo cuales nos van a permitir contar con una calculadora funcional emulada por sw, bien en un smartphone o tableta o bien en un ordenador, lo cual lo hace ideal para profesores o youtubers pues pueden mostrar en tiempo real las operaciones en la calculadora. Por desgracia, este tipo de sw suele tener un precio alto que además es licenciado por tiempo ( su precio empieza por los 24€/año con un periodo de prueba de 90 dias).

De todo el sw disponible, ClassPad esta a medio camino de ser un emulador, pero es una opción en la que podemos hacer algunas cosas similares a calculadora similares. En su versión básica gratuita para Android sin suscripción, da opción a las secciones Statistics, Graph&Table, Pictures/Plot, NumSolve y System .

Desgraciadamente, la mayoría de las secciones como: eActivity,Spradsheet,3d Graph,Geometry, Interactive Diff Calc,Conics, Diff Graph, equence, Financial, Program, Comunicaction y Phsium permanencen inacccesibles y hay que pasar por caja para habilitarlas.

Respecto al emulador propio de la Casio Fx-cg50 para ordenadores es posible probarlo por un mes , para después pagar la licencia de forma anual. Se accede a esta opción desde https://edu.casio.com/softwarelicense/index.php

RESUMEN

En resumen, la Casio FX-CG50 es una calculadora gráfica completa y versátil que es ideal para estudiantes de secundaria, bachillerato y universidad. Es muy interesante no olvidar los numerosos recursos gratuitos oficiales de Casio que existen tanto para actualizar el SO, descargar el manual completo extensamente desarrollado, añadir nuevos add-in a la calculadora o descargar el programa Screen Receiver que nos permite salvar nuestras operaciones realizadas en la calculadora hacia nuestro ordenador. Otras opciones como emulación en smartphone o en un ordenador por el momento requieren licenciamiento ( que es la manera «bonita» de decir que tenemos que «pasar por caja»).

Aquí hay algunos recursos donde se puede encontrar más información sobre la Casio FX-CG50: