Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
f1:python [2024/11/22 19:39] lmachucaf1:python [2025/03/20 14:08] (actual) lmachuca
Línea 6: Línea 6:
  
   * Python Documentation:  https://docs.python.org/   * Python Documentation:  https://docs.python.org/
-  * Python 2.7/Legacy: https://docs.python.org/2/ 
   * pip Package Manager: https://pypi.org/project/pip/   * pip Package Manager: https://pypi.org/project/pip/
   * wxWidgets (interface gráfica) con Python: [[wp>es:wxPython]] , https://pythonspot.com/tag/wxwidgets/   * wxWidgets (interface gráfica) con Python: [[wp>es:wxPython]] , https://pythonspot.com/tag/wxwidgets/
Línea 17: Línea 16:
 La instalación para Linux cubre el caso de distribuciones Debian, Ubuntu y similar.  La instalación para Linux cubre el caso de distribuciones Debian, Ubuntu y similar. 
  
-La mayoría de las distribuciones ya viene con Python. La versión de Python depende de la distribución, suele ser desde Python 3.6 (Ubuntu 2018) a Python 3.10 (Debian Unstable 2022). :!: Es importante **nunca** seguir tutoriales de internet que instalan una versión diferente de Python y **cambian la versión del sistema**, ya que componentes como la administración de paquetes dependen de Python.+La mayoría de las distribuciones ya viene con Python 3.x. La versión de Python depende de la distribución, suele ser desde Python 3.6 (Ubuntu 2018) en adelante. :!: Es importante **nunca** seguir tutoriales de internet que instalan una versión diferente de Python y **cambian la versión del sistema**, ya que en distribuciones Debian y RedHat, componentes como la administración de paquetes dependen de Python.
  
 El ejecutable de Python suele ser ''/usr/bin/python'' o ''/usr/bin/python3''. El ejecutable de Python suele ser ''/usr/bin/python'' o ''/usr/bin/python3''.
Línea 23: Línea 22:
 Para instalar otra versión de Python, se recomienda [[https://github.com/pyenv/pyenv#installation|instalar pyenv por cualquiera de sus métodos oficiales]]. Este proceso debe realizarse con la cuenta normal de usuario, y creará un árbol de directorios para almacenar distintas versiones de Python (cada una con su propia paquetería) en una ruta indicada por el usuario. Para instalar otra versión de Python, se recomienda [[https://github.com/pyenv/pyenv#installation|instalar pyenv por cualquiera de sus métodos oficiales]]. Este proceso debe realizarse con la cuenta normal de usuario, y creará un árbol de directorios para almacenar distintas versiones de Python (cada una con su propia paquetería) en una ruta indicada por el usuario.
  
-Algunas distribuciones viejas de Linux pueden venir con un intérprete ''/usr/bin/python'' de **Python 2 por defecto**, aún cuando soportan Python 3. Para configurar Python 3 como el intérprete ''/usr/bin/python'' por defecto, se puede instalar un paquete que realiza esta notificación dependiendo de la distribución:+Algunas distribuciones viejas de Linux pueden venir con un intérprete ''/usr/bin/python'' o ''/usr/bin/python2'' de **Python 2 por defecto**, aún cuando soportan Python 3. Para configurar Python 3 como el intérprete ''/usr/bin/python'' por defecto, se puede instalar un paquete que realiza esta notificación dependiendo de la distribución:
  
   apt install python-is-python3   apt install python-is-python3
Línea 41: Línea 40:
  
   * Ya que se usa para levantar scripts, se recomienda instalar Python en una ruta sin espacios (por ejemplo, //Python for Windows// usualmente instala en ''c:/WinPy/3.8'' o similar).   * Ya que se usa para levantar scripts, se recomienda instalar Python en una ruta sin espacios (por ejemplo, //Python for Windows// usualmente instala en ''c:/WinPy/3.8'' o similar).
-  * Windows XP: Ojo, La última versión de Python for Windows soportada en Windows XP es [[https://www.python.org/downloads/release/python-279/|2.7.9]], y la última versión de Cygwin soportada en Windows XP es 3.3 sin SSL.+  * Para los equipos Windows con WSL2es mejor usar el subsistema de Python integrado. 
 +  * La última versión de Python for Windows soportada en Windows XP es [[https://www.python.org/downloads/release/python-279/|2.7.9]], y la última versión de Cygwin soportada en Windows XP es 3.3 sin SSL.
  
-El directorio con el intérprete debe ser agregado al ''%PATH%'' si el instalador no lo hace por defecto.+El directorio con el intérprete puede ser agregado al ''%PATH%'' si el instalador no lo hace por defecto.
  
 ===== Instalación Android ===== ===== Instalación Android =====
  
-Es posible instalar una versión miniaturizada de Python por medio de [[https://www.atareao.es/software/utilidades/terminal-para-android/|Termux (en F-Droid)]]. Ojo que empezando en Android 10, esto requiere la versión de Termux en F-Droid, ya que desde Android 10 los paquetes en Google Play Store no pueden instalar complementos.+Es posible instalar una versión miniaturizada de Python por medio de [[https://www.atareao.es/software/utilidades/terminal-para-android/|Termux (en F-Droid)]]. Ojo que empezando en Android 10, esto requiere la versión de Termux en F-Droid, ya que desde Android 10 los paquetes en Google Play Store no pueden instalar complementos o tener sus propios gestores de paquetes.
  
-=====Gestor de Dependencias=====+=====Gestor de Proyectos =====
  
-**''pip''** es el gestor de paquetes integrado para Pythonpermite instalar paquetes y módulos en modo usuario además de (en Linux) integrar las instalaciones disponibles con el gestor de paquetes.+En Python **''venv''** es el gestor de entornos y **''pip''** es el gestor de paquetes, permiten instalar paquetes y módulos en modo usuario además de (en Linux) integrar las instalaciones disponibles con el gestor de paquetes.
  
-Para instalar pip se utiliza el comando ''apt-get install pip python-virtualenv''. El comando se llama ''pip'' para Python 3 y ''pip2'' para Python 2.+Para instalar estos sistemas en Debian se utiliza (como superusuario) el comando ''apt install python-pip python-virtualenv''. El módulo de venv se invoca con ''python -m venv''. El comando de pip se llama ''pip'' para Python 3 y ''pip2'' para Python 2.
  
-El gestor de paquetes pip funciona creando una base de datos local con paquetes y permisos para cada usuario; por tanto, para instalar paquetes para un proyecto siempre debe hacerse de manera local como el usuario del proyecto y con la opción ''--user''; **nunca** como ''root''.+El gestor de paquetes pip funciona creando una base de datos local con paquetes y permisos para cada usuario; por tanto, para instalar paquetes para un proyecto siempre debe hacerse de manera local como el usuario del proyecto, o mejor ún directamente dentro del entorno creado activado por ''venv''.
  
-Para instalar un módulo se puede invocar pip con la opción ''%%--user%%''.+Si estoy en el árbol de directorios de un proyecto, puedo crear un entorno venv para trabajar ese proyecto con un sencillo comando:
  
 <code bash> <code bash>
-usuario $  pip install --user sqlite mysql pgsql +[usuario@ ~/proyecto ] python -m venv test 
-usuario $  pip install --user configparser+[usuario@ ~/proyecto ] ls -
 + 
 +proyecto.py 
 +test/
 </code> </code>
 +
 +Para trabajar con entornos ''venv'' ejemplos de tutoriales:
 +
 +  * https://codificandobits.com/tutorial/como-crear-entornos-virtuales-en-python-con-venv/
 +  * https://realpython.com/python-virtual-environments-a-primer/
 +
  
 =====Tópicos ===== =====Tópicos =====
  
-Los tres proyectos de software más relevantes en Helpcom que dependen de Python son [[f1:respaldarv2]] para respaldar bases de datos, los respaldos automáticos de Facturación Electrónica, y los [[trébol:|respaldos nube de Trébol en Amazon]].+Algunos proyectos y middlewares de Helpcom están hechos en Python. Entre los más notables se puede mencionar: [[f1:respaldarv2]] para respaldar bases de datos, "pyhyzy" el middleware de captura de horas de ZKtime, y "twbalanza" el middleware para conectar y cargar PLU en balanzas Digicom con protocolo TWS. 
 + 
 +Las siguientes páginas en esta wiki están marcadas con "Python":
  
 {{topic>helpcom +python}} {{topic>helpcom +python}}
Línea 76: Línea 87:
 =====Notas===== =====Notas=====
  
-==== Pip desde Python ==== +Empezando en Python 3.4, si un ejecutable para un componente de Python con interface de ejecutable no está disponible, se puede invocar el módulo en Python directamente. Por ejemplo:
-Si un ejecutable para ''pip'' no está disponible pero el módulo está instaladoes posible reemplazar el comando ''pip'' con el comando ''python'':+
  
-  En vez de +<code> 
-  pip install --user modulo +Con ejecutable 
-  Usar +pip install --user argparse 
-  python -m pip install --user modulo -- +Con Python 
 +python -m pip install --uer argparse
  
- +# Con ejecutable 
-==== Dependencias Python Directo desde Python ==== +venv miprueba activate 
- +# Con Python 
-Se puede invocar ''pip'' directamente desde la consola de Python (Linux o Windows) como se puede ver en [[https://stackoverflow.com/questions/12332975/installing-python-module-within-code|(1)]]: +python -m venv miprueba activate
- +
-<code python> +
->>> import pip +
->>> pip.main(['install', 'configparser'])+
 </code> </code>
  
-Ejemplo: 
- 
-<file> 
-Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win 
-32 
-Type "help", "copyright", "credits" or "license" for more information. 
->>> import pip 
->>> pip.main(['install', 'configparser']) 
-Downloading/unpacking configparser 
-  Downloading configparser-3.5.0.tar.gz 
-  Running setup.py  
- 
-Installing collected packages: configparser 
-  Running setup.py install for configparser 
- 
-    Installing C:\Python27\Lib\site-packages\configparser-3.5.0-py2.7-nspkg.pth 
-Successfully installed configparser 
-Cleaning up... 
-0 
->>> 
- 
-</file> 
  
 Para Python en Cygwin es posible utilizar los ejemplos en [[https://stackoverflow.com/questions/24645468/install-python-modules-in-cygwin]]. Para Python en Cygwin es posible utilizar los ejemplos en [[https://stackoverflow.com/questions/24645468/install-python-modules-in-cygwin]].
f1/python.txt · Última modificación: 2025/03/20 14:08 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0