Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema02

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:iabd:pia:1eval:tema02 [2023/11/04 12:32]
admin [Ejercicios]
clase:iabd:pia:1eval:tema02 [2024/01/06 12:03] (actual)
admin [Poetry]
Línea 407: Línea 407:
 from tabulate import tabulate from tabulate import tabulate
  
-a=[  [5,0.7,0.765], [10,1.45,0.84], [20,2.678,0.978], [60,11.396,0.9973]  ]+datos=[  [5,0.7,0.765], [10,1.45,0.84], [20,2.678,0.978], [60,11.396,0.9973]  ]
  
  
-print(tabulate(a, headers=["Épocas", "Tiempo (s)", "Resultado"]))+print(tabulate(datos, headers=["Épocas", "Tiempo (s)", "Resultado"]))
 </sxh> </sxh>
  
Línea 422: Línea 422:
 </sxh> </sxh>
  
 +También podemos añadir una primera columna que sean también como "cabeceras". El siguiente anterior ejemplo se podría modificar de forma que en el array ''a'' solo estén los datos de tiempo y resultado y no las épocas ya que son como "cabeceras".
  
 +<sxh python>
 +from tabulate import tabulate
 +
 +datos=[  [0.7,0.765], [1.45,0.84], [2.678,0.978], [11.396,0.9973]  ]
 +epocas=[5,10,20,60]
 +
 +print(tabulate(datos, headers=["Épocas", "Tiempo (s)", "Resultado"],showindex=epocas))
 +
 +</sxh>
 +<sxh base>
 +  Épocas    Tiempo (s)    Resultado
 +--------  ------------  -----------
 +               0.7         0.765
 +      10         1.45        0.84
 +      20         2.678       0.978
 +      60        11.396       0.9973
 +</sxh>
  
 ===== Estructuras de control ===== ===== Estructuras de control =====
Línea 675: Línea 693:
 Mas información: Mas información:
   * [[https://morton-kuo.medium.com/ml09-e549b2c26c47|ML09: Measuring Running Time in Python & R]]   * [[https://morton-kuo.medium.com/ml09-e549b2c26c47|ML09: Measuring Running Time in Python & R]]
 +
 +===== Poetry =====
 +A veces no quieremos usar conda sino tener una carpeta con todo lo que necesita el proyecto, al estilo de //NodeJS//. En ese caso podemos usar una herramienta llamada [[https://python-poetry.org/|Poetry]]
 +
 +  * Instalar poetry
 +<sxh bash>
 +pip install --user poetry
 +</sxh>
 +
 +  * Comprobar que tenemos poetry instalado
 +
 +<sxh bash>
 +poetry --version
 +</sxh>
 +
 +  * Para decir que las librerías se instalen en nuestra propia carpeta del proyecto.
 +<sxh bash>
 +poetry config virtualenvs.in-project true
 +</sxh>
 +
 +  * Para tener un proyecto con python y todas sus dependencias en la misma carpeta haremos lo siguiente:
 +<sxh bash>
 +poetry init
 +poetry add libclang = "<12.0.0" numpy pandas matplotlib seaborn scikit-learn tensorflow tabulate PyMySQL SQLAlchemy ipympl keras-tuner tensorflow-addons statsmodels
 +poetry install
 +</sxh>
 +
 +<note important>
 +Si al hacer el ''poetry add'' se produce el error:
 +''[org.freedesktop.DBus.Error.UnknownObject] ("No such object path '/org/freedesktop/secrets/aliases/default'",)'' 
 +deberemos crear la siguiente variable de entorno:
 +''export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring''
 +</note>
 +
 +Para ejecutar el código hay 2 formas:
 +
 +  * Desde la línea de comandos:
 +<sxh python>
 +poetry run python my_script.py
 +</sxh>
 +
 +  * Desde VS Code seleccionar en los entornos de ejecución la carpeta ''.venv'' del propio proyecto:
 +{{ :clase:iabd:pia:1eval:vs-code-poetry.png?direct |}}
 +
 +  * Si queremos usar el entorno de poetry pero no está en nuestra carpeta se puede indicar a VS Code cual es el ejecutable de python que debe usar siempre para ello hay que crear en la carpeta de nuestro proyecto el fichero ''$HOME/.config/Code/User/settings.json''
 +
 +<sxh base>
 +{    
 +    "python.defaultInterpreterPath": "/home/logongas/python_default_env/.venv/bin/python",
 +}
 +</sxh>
 +
 +
  
 ===== Ejercicios ===== ===== Ejercicios =====
clase/iabd/pia/1eval/tema02.1699097526.txt.gz · Última modificación: 2023/11/04 12:32 por admin