Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
f1:python [2018/11/21 14:48] – lmachuca | f1:python [2025/03/20 14:08] (actual) – lmachuca |
---|
| |
* 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/ |
* Python Best Practices: https://realpython.com/tutorials/best-practices/ | * Python Best Practices: https://realpython.com/tutorials/best-practices/ |
| |
=====Instalar===== | ===== Instalación Linux ===== |
Para instalar **Python** en sí en un equipo depende de la configuración del sistema operativo: | |
| |
* **Linux**: | La instalación para Linux cubre el caso de distribuciones Debian, Ubuntu y similar. |
* Python 3.x ya viene nativo. Verificar con ''%%python3 --version%%''. ¿No es genial? | |
* Python 2.7 suele estar disponible. Verificar con ''%%python2 --version%%''. | |
* La mayoría de las distribuciones de Linux distinguen entre Python 2 y Python 3, por ejemplo con los intérpretes de shell ''python2'' y ''python3'' en vez de sólo ''python''. | |
* **Windows**: Existen varias alternativas para instalar Python. Entre las más notables se puede destacar: | |
* [[https://www.python.org/downloads/windows/|Python for Windows]] (recomendado) | |
* [[http://www.cygwin.org/|Cygwin]] con Python | |
* [[https://sourceforge.net/projects/winpython/files/WinPython_2.7/|WinPython]] | |
* Active Python | |
* 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. | |
* Android: Es posible instalar una versión reducida de Python por medio de [[https://www.atareao.es/software/utilidades/terminal-para-android/|Termux (en F-Droid)]]. | |
| |
<note>Algunos de estos instaladores se encuentran en el SFTP de Helpcom en la carpeta de Desarrollo.</note> | 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''. |
| |
=====Paquetes Python Helpcom ===== | 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. |
| |
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]]. | 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 |
| |
| |
| ===== Instalación Windows ===== |
| |
| Existen varias alternativas para instalar Python en Windows. Entre las más notables se puede destacar: |
| |
| * [[https://www.python.org/downloads/windows/|Python for Windows]] (recomendado). |
| * [[http://www.cygwin.org/|Cygwin]] con Python . |
| * [[https://sourceforge.net/projects/winpython/files/|WinPython]]. |
| * Active Python . |
| * El servidor 237 de Helpcom (''soporte@helpcom.cl'') tiene copias de los instaladores de WinPython-Zero para Python 3.6 (usado por ejemplo por Transbank). |
| |
| Tomar ojo de las siguientes notas dependiendo de la versión de Windows. |
| |
| * 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). |
| * Para los equipos Windows con WSL2, es 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 puede ser agregado al ''%PATH%'' si el instalador no lo hace por defecto. |
| |
| ===== 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 o tener sus propios gestores de paquetes. |
| |
| =====Gestor de Proyectos ===== |
| |
| 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 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, o mejor ún directamente dentro del entorno creado y activado por ''venv''. |
| |
| 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> |
| [usuario@ ~/proyecto ] $ python -m venv test |
| [usuario@ ~/proyecto ] $ ls -F |
| |
| proyecto.py |
| test/ |
| </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 ===== |
| |
| 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}} |
=====Desarrollo===== | =====Desarrollo===== |
| |
| El entorno de desarrollo recomendado en Debian/Ubuntu para Python es [[https://wiki.python.org/moin/DrPython|DrPython]]. Eclipse también tiene un módulo que permite desarrollar en Python. |
| |
=====Notas===== | =====Notas===== |
| |
==== Instalar en Windows XP ==== | 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: |
| |
- Descomprimir nuestro programa de respaldo en una carpeta, por ejemplo ''respdb''. | <code> |
- Instalar **Python for Windows 2.7.9** desde algunas de las fuentes indicadas arriba. | # Con ejecutable |
- En las opciones de instalación asegurarse que están seleccionados todos los script (FIXME TOBEDONE agregar foto) | pip install --user argparse |
- Instalar las herramientas de consola de MySQL desde un instalador de [[:f1:Mysql Server]] o de un MySQL Community Wizard. | # Con Python |
- Abrir una consola de CMD y llevar la terminal al directorio del entorno de Python (1) | python -m pip install --uer argparse |
- Ejecutar ''pip.exe'' para instalar los componentes y dependencias en el entorno (2) | |
- Si el equipo **no** tiene las herramientas de MySQL agregadas en el ''%PATH%'', \\ copiar los siguientes archivos a la misma carpeta: (3) | |
| |
| # Con ejecutable |
1: | venv miprueba activate |
<code cmd 1> | # Con Python |
rem cambiar la ruta de Python por la que se usó al instalar el sistema | python -m venv miprueba activate |
C: | |
cd \Python27\Tools | |
</code> | </code> |
| |
2: | |
<code cmd 2> | |
pip.exe install configparser | |
</code> | |
| |
3: | Para Python en Cygwin es posible utilizar los ejemplos en [[https://stackoverflow.com/questions/24645468/install-python-modules-in-cygwin]]. |
<file> | |
mysqldump.exe | |
mysql.exe | |
libmysql.dll | |
</file> | |
| |
| |