# 4 Python

Podemos entrar a la web oficial de Python (opens new window)
Podemos entrar a la web oficial de Pip (opens new window)
Podemos entrar a la web oficial de Django (opens new window)
Podemos entrar a la web oficial de DB Browser for SQLite (opens new window)

# ¿Qué es Python?

Aviso

Segun Wikipedia (opens new window): Python es un lenguaje de alto nivel de programación interpretado cuya filosofía hace hincapié en la legibilidad de su código, se utiliza para desarrollar aplicaciones de todo tipo, ejemplos: Instagram, Netflix, Spotify, Panda3D, entre otros.​ Se trata de un lenguaje de programación multiparadigma, ya que soporta parcialmente la orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma.

Segun Victor Robles (opens new window): Python es un lenguaje de programacion interpretado, es decir no es un lenguaje compilado, es un lenguaje de tipo script, nosotros escribimos nuestros programas, nuestro script y Python lo interpreta y devuelve un resultado o hace la funcionalidad que necesitemos. Es un lenguaje multiproposito, podemos crear scripts para servidores, programas de lineas de comando, programas de escritorio, sitios web, aplicaciones web, lo que sea, es un lenguaje de programación que sirve para hacer multitud de tipos de aplicaciones. Es un lenguaje multiparadigma, con Python podemos hacer programacion estructurada normal de toda la vida, programación imperativa, programación funcional, y programación orientada a objetos.

# Enlaces utiles

En esta seccion pondremos enlaces utiles:

# Apuntes varios

En esta seccion pondremos apuntes varios:

# Instalamos Python

Instalamos Python (opens new window) desde su web

Notas

Recordar que los modulos se pueden descargar desde Pip (opens new window)

python --version
python

pip --version
pip

# Instalamos Python en Laragon

Instalamos Python (opens new window) desde su web

Notas

  • Los apuntes anteriores hacen referencia a instalar Python con su ejecutable exe desde su web
  • Los apuntes de esta sección hacen referencia a descargar la versión en formato exe de Python desde su web, para instalarlo como binario en Laragon, para esto debemos:
  1. Ir a la siguiente ruta:
    ¿Cómo agregar una nueva versión de Python? (opens new window)
  2. Una vez realizada la instalación de Python en Laragon agregar la ruta al PATH de Windows.
  3. Para agregar Python al PATH de Windows, siga estos pasos:
    1. Abra el menú Inicio y busque Variables de entorno y seleccione Editar las variables de entorno del sistema.
    2. En la pestaña Opciones avanzadas, haga clic en Variables de entorno.
    3. En la sección Variables del sistema, busque la variable Path y haga clic en Editar.
    4. Haga clic en Nuevo y agregue la ruta de instalación de Python (por ejemplo, C:\Users\Ernesto\AppData\Local\Microsoft\WindowsApps\python.exe). ---- En nuestro caso seria D:\PORTABLES\laragon\bin\python\python-3.12.7.
    5. Haga clic en Aceptar para guardar los cambios.

# Masters en Python

Describimos la version de Python utilizada en los Masters

D:\PORTABLES\laragon\bin\python
	python-3.10 (python-3.10.6)
	python-3.11.9
	python-3.12.9
	python-3.13.11

C:\Users\Ernesto\anaconda3\envs
	base (base-3.12.4)
	base-3.12.12
	llms (base-3.11.11)

1 master-python-web               # python instalado en laragon  ----> python-3.10 (python-3.10.6)                                   ----> no se usa virtualizacion
2 master-python-datascience       # python instalado en anaconda ----> base (base-3.12.4), base-3.12.12, python-3.10 (python-3.10.6) ----> se usa virtualizacion, revisar notas de virtualizacion ----> master-python-datascience, 1-python-datascience-newhorizons
3 master-python-ia				  # python instalado en laragon  ----> llms (base-3.11.11), python-3.11.9, python-3.13.11            ----> se usa virtualizacion, revisar notas de virtualizacion ----> master-python-ia, 1-python-llm, 2-python-langchain
4 master-python-odoo              # python instalado en laragon  ----> python-3.12.9                                                 ----> se usa virtualizacion, revisar notas de virtualizacion ----> master-python-odoo, 1-aprendiendo-odoo

99 master-python-dataengineering  # python instalado en laragon  ----> python-3.11.9                                                 ----> se usa virtualizacion, revisar notas de virtualizacion ----> master-python-dataengineering, 1-aprendiendo-pyspark

# Modulos instalados

# Para poder ver los modulos instalados
# https://byspel.com/como-ver-los-modulos-instalados-en-python/
pip list

# Para poder ver un modulo especifico y su version
# ChatGPT
pip list | grep <modulo>

# Limpiar cache de pip (minuscula a proposito)
# ChatGPT
pip cache purge

# Actualizar Pip
# https://datatofish.com/add-python-to-windows-path/ (Esta url también ayuda a entender como agregar al PATH de Windows, Python y Pip, además de actualizar Pip)
python -m pip install --upgrade pip

# Instalar modulos
pip install <modulo>
# Actualizar modulos
pip install <modulo> --upgrade
# Desinstalar modulos
pip uninstall <modulo>

---- Master en Python ----

# mysql-connector-python
# https://pypi.org/project/mysql-connector-python/
pip install mysql-connector-python

# django
# https://pypi.org/project/Django/
pip install Django

# pylint-django
# https://pypi.org/project/pylint-django/
pip install pylint-django

# django-ckeditor
# https://pypi.org/project/django-ckeditor/
pip install django-ckeditor

# Flask
# https://pypi.org/project/Flask/
pip install Flask

# Flask-MySQLdb
# https://pypi.org/project/Flask-MySQLdb/
pip install Flask-MySQLdb

---- Python SISTEMASUNI ----

# django
# https://pypi.org/project/Django/
pip install Django

# django-crispy-forms
# https://pypi.org/project/django-crispy-forms/
pip install django-crispy-forms

# crispy-bootstrap4
# https://pypi.org/project/crispy-bootstrap4/
pip install crispy-bootstrap4

# crispy-bootstrap5
# https://pypi.org/project/crispy-bootstrap5/
pip install crispy-bootstrap5

# mysql-connector-python
# https://pypi.org/project/mysql-connector-python/
pip install mysql-connector-python

django-widget-tweaks
# https://pypi.org/project/django-widget-tweaks/
pip install django-widget-tweaks

psycopg
# https://pypi.org/project/psycopg/
pip install psycopg

---- Virtualización ----

# virtualenv
# https://pypi.org/project/virtualenv/
pip install virtualenv

---- Python CETAMPUPC ----

# django
# https://pypi.org/project/Django/
pip install Django

# numpy
# https://pypi.org/project/numpy/
pip install numpy

# reportab
# https://pypi.org/project/reportlab/
pip install reportlab

---- prosincodigo ----

# wikipedia
# https://pypi.org/project/wikipedia/
pip install wikipedia

# pyttsx3
# https://pypi.org/project/pyttsx3/
pip install pyttsx3

# Pillow
# https://pypi.org/project/Pillow/
pip install Pillow

---- Python TOTAL ----

---- Instalar bibliotecas externas para Web Scraping ----

# beautifulsoup4
# https://pypi.org/project/beautifulsoup4/
pip install beautifulsoup4

# bs4 (Paquete ficticio administrado por el desarrollador de beautifulsoup4)
# https://pypi.org/project/bs4/
pip install bs4

# lxml
# https://pypi.org/project/lxml/
pip install lxml

# requests
# https://pypi.org/project/requests/
pip install requests

---- Instalar bibliotecas externas para Asistente de Voz ----

# pyttsx3
# https://pypi.org/project/pyttsx3/
pip install pyttsx3

# SpeechRecognition
# https://pypi.org/project/SpeechRecognition/
pip install SpeechRecognition

# PyAudio (SpeechRecognition necesita PyAudio)
# https://pypi.org/project/PyAudio/
pip install PyAudio

# pywhatkit
# https://pypi.org/project/pywhatkit/
pip install pywhatkit

# yfinance
# https://pypi.org/project/yfinance/
pip install yfinance

# pyjokes
# https://pypi.org/project/pyjokes/
pip install pyjokes

---- Convierte tus programas en Archivos Ejecutables (.exe) ----

# pyinstaller
# https://pypi.org/project/pyinstaller/
pip install pyinstaller

# Ubicación de los modulos instalados

# En general, los paquetes de Python se instalan en la carpeta "site-packages" del entorno de Python en el que se está trabajando. Esta carpeta se crea automáticamente durante la instalación de Python y es específica de cada versión de Python que se tenga instalada en el sistema.
# La ubicación exacta de la carpeta "site-packages" puede variar dependiendo del sistema operativo y de la forma en que se instaló Python. En sistemas Linux y macOS, la carpeta "site-packages" suele encontrarse en la ruta "/usr/lib/pythonX.Y/site-packages", donde "X.Y" representa la versión específica de Python que se tiene instalada. En Windows, la carpeta "site-packages" suele estar ubicada en la ruta "C:\PythonX.Y\Lib\site-packages".
# Para ver la ubicación exacta de la carpeta "site-packages" en su sistema, puede ejecutar el siguiente código en un intérprete de Python:
import site
print(site.getsitepackages())

# Django

# AprendiendoDjango

# Revisar version de Django instalada
python -m django --version
# Crear proyecto nuevo
django-admin startproject AprendiendoDjango

# Gestor de comandos,se ven todos los comando disponibles
python manage.py
python manage.py help

# Genera una base de datos con las funcionalidades que vienen por defecto en Django
# Esto se realizaria al crear el proyecto en Django
python manage.py migrate

# Arrancamos el servidor local y revisamos la web
python manage.py runserver
http://localhost:8000/

# Crear un app en Django
python manage.py startapp appejemplo  # Esta app no se modifico, se creo como referencia para ver como viene un app por defecto
python manage.py startapp miapp

# Crear migraciones
# Obtener los modelos, ver si habia una migracion creada o no y crear un fichero de migraciones
# Para esto el archivo `/AprendiendoDjango/miapp/models.py` debe tener los modelos
# Las migraciones se crean en `/AprendiendoDjango/miapp/migrations`
python manage.py makemigrations

# Verificar si existen migraciones pendientes
# Este comando mostrará una lista de todas las migraciones de su aplicación y mostrará cuáles han sido aplicadas y cuáles están pendientes.
# Existe una tabla que almacena las migraciones aplicadas "django_migrations"
python manage.py showmigrations

# Crear sql de la migracion creada
# No es estrictamente necesario ejecutar el comando, pero puede ser útil en ciertas situaciones.
# Genera el SQL que será utilizado para aplicar la migración a la base de datos.
# Esto puede ser útil para revisar y entender los cambios que se realizarán en la base de datos antes de ejecutar la migración.
python manage.py sqlmigrate miapp 0001

# Ejecutar migracion creada
python manage.py migrate

# Panel de Administración de Django

# Creamos super usuario
python manage.py createsuperuser

# Ingresar al Panel de Administración
http://localhost:8000/admin/

# ProyectoDjango

# Crear proyecto nuevo
django-admin startproject ProyectoDjango

# Gestor de comandos,se ven todos los comando disponibles
python manage.py
python manage.py help

# Genera una base de datos con las funcionalidades que vienen por defecto en Django
# Esto se realizaria al crear el proyecto en Django
python manage.py migrate

# Arrancamos el servidor local y revisamos la web
python manage.py runserver
http://localhost:8000/

# Crear un app en Django
python manage.py startapp appejemplo  # Esta app no se modifico, se creo como referencia para ver como viene un app por defecto
python manage.py startapp mainapp
python manage.py startapp pages
python manage.py startapp blog

# Crear migraciones
python manage.py makemigrations

# Ejecutar migracion creada
python manage.py migrate

# ProyectoFlask

# Arrancamos el servidor local y revisamos la web
python main.py
http://127.0.0.1:5000/