-
Notifications
You must be signed in to change notification settings - Fork 231
InstalacionCodigoFuente
Antes de proceder, recomendamos revisar y consultar los siguientes sitios:
- Repositorio (releases): actualizaciones generales, versiones de evaluación (instaladores y paquetes de código fuente)
- Sistemas Ágiles: soporte comercial pago (asesoramiento inicial gratuito por email). Documentación Manual de Uso, Actualizaciones
- Grupo de Usuarios: novedades, consultas y comentarios generales (foro público abierto, comunitario y gratuito)
- Python Argentina: soporte técnico sobre python comunitario gratuito (por lista de correo, chat, etc.)
- Sitio Web del Proyecto: información técnica y anuncios
- Incidencias: tickets con cuestiones técnicas internas del proyecto para su resolución.
- VIDEO Explicativo Paso a Paso: Windows 10 ¡nuevo! (funciona también para Windows 8.1, 7 y otros), o WinXP sobre instalación en Windows: Python, dependencias y prueba en producción.
Para usar la interfaz y herramientas relacionadas no es necesario compilar ni empaquetar o generar instaladores, simplemente se puede utilizar el código fuente (respetando la licencia GPLv3 de software libre), como se describe a continuación:
Descargar el código fuente:
- Desde pyafipws-master.zip (última versión para desarrollo empaquetada de GitHub) recomendado
- Desde releases (versiones estables y preliminares), y descomprimir en una carpeta, por ej. pyafipws
- Desde el Repositorio Principal versión de desarrollo, requiere Git o Mercurial y HgGit:
hg clone git+https://github.com/reingart/pyafipws.git pyafipws --config extensions.hggit=
Para WSFEv1 y WSMTXCA es necesaria adicionalmente la librería PySimpleSoap, especificamente la rama pysimplesoap-reingart.zip (archivo comprimido)
Para PyRece es necesaria adicionalmente la librería PyFPDF, recomendamos la última versión de desarrollo pyfpdf.zip (archivo comprimido)
Para PyI25 (códigos de barra) es requerida la biblioteca Python Imaging Library (PIL), y también podría usarse Pillow ("fork" disponible en PyPI)
Instalar dependencias:
sudo apt-get install python-httplib2 python-m2crypto python-pip
Descargar e instalar PySimpleSoap:
sudo pip install pysimplesoap==1.08.9 --upgrade
Nota: se recomienda actualizar a la version estable 1.08 actualizada, ya que la versión de desarrollo tiene algunos temas menores de incompatibilidad por nuevas características que se han agregado y están en revisión.
En caso de recibir ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
, utilizar versión pysimplesoap==1.08.8
para compatibilidad con protocolo de seguridad antiguo en homologación.
Descargar e instalar PyFPDF:
sudo pip install pyfpdf --upgrade
Para usar el diseñador visual de plantillas PDF o PyRece, necesitará instalar adicionalmente wxPython y gui2py
sudo apt-get install wxpython
sudo pip install gui2py
Actualizar Python 2.6 (versiones antiguas vienen con python 2.4 que no es compatible), probado en CentOS release 5.10:
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
yum install python26
Instalar dependencia httplib2:
wget https://github.com/httplib2/httplib2/archive/master.zip -O httplib2
unzip httplib2.zip
cd httplib2-*
python2.6 setup.py install
Instalar librería pysimplesoap para para webservices:
wget https://pysimplesoap.googlecode.com/archive/reingart.zip -O pysimplesoap-reingart.zip
unzip pysimplesoap-reingart.zip
cd pysimplesoap-*
python2.6 setup.py install
Instalar librería pyfpdf para PDF:
wget https://github.com/httplib2/httplib2/archive/master.zip -O pyfpdf.zip
unzip pyfpdf.zip
cd pyfpdf-*
python2.6 setup.py install
Para utilizar este proyecto, desde el código fuente, debe descargar y ejecutar los instaladores de los siguientes requisitos (seleccionar la columna según versión del sistema operativo y arquitectura de CPU):
Software a Instalar | Python 2.5 (WinXP) | Python 2.7 (Win7 o sup) 32 bits | Python 2.7 (Win7 o sup) 64 bits | Notas |
---|---|---|---|---|
Python (lenguaje programación) | Python 2.5.4 | Python 2.7.12 | Python 2.7.12 "amd64" | soporte para Python 3.x próximamente |
OpenSSL (seguridad SSL/TLS) |
Win32OpenSSL 0.9.7m **
|
Win32OpenSSL 1.0.2j | Win64OpenSSL 1.0.2j | opcional, solo necesario para generar certificados / compilar M2Crypto |
M2Crypto (OpenSSL para Python) |
inst. v0.18.2 **
|
inst. v0.22.3 *
|
inst. v0.21.1 "amd64" | o superior, salvo 0.19 no funcionaba correctamente |
httplib2 (biblioteca conexión HTTP) | fuentes v0.4.0 |
inst. v0.9 *
|
inst. v0.9 "amd64" *
|
Para instalar las fuentes, descomprimir y ejecutar por línea de comando: c:\python27\python.exe setup.py install
|
Extensiones Windows para interfase COM | pywin32 | inst. v220 | inst. v220 "amd64" | opcional, solo para comunicación con VB, VFP, .NET, Java y similares |
PySimpleSOAP (webservices) | fuentes (zip) | inst. v1.08d (PyPI) | inst. v1.08d "amd64" (PyPI) | Ver abajo para versiones actualizadas |
PyFPDF (generación PDF) | fuentes (zip) | inst. v1.7.2 (PyPI) | inst. v1.7.2 "amd64" (PyPI) | Ver abajo para versiones actualizadas |
PIL / Pillow (imágenes) | inst. v1.1.7 | inst. v1.1.7 | inst. v2.7.0 "amd64" (PyPI) | solo necesario para generación de imágenes |
Notas:
- Algunos paquetes (marcados con asterisco
*
) se han compilado y subido a nuestro servidor para facilitar la instalación a los nuevos usuarios. Por favor dirigirse al sitio de cada proyecto para obtener los paquetes oficiales o mayor información. - Ciertos paquetes son versiones históricas (marcados con dos asteriscos
**
), alojados para compatibilidad hacia atrás. - Se recomienda Python 2.7.9 o superior para nuevas instalaciones, ya que incorpora las últimas características y cubre los recientes temas de seguridad.
- Las versiones "amd64" también funcionan para arquitecturas Intel x86 64 bits (se utiliza la denominación original).
Para soporte proxy avanzado instalar ScksiPy y copiar socks.py
en C:\Python27\Lib\site-packages
Opcional (no sería necesario para python 2.7).
Recomendamos PyCurl para cuestiones avanzadas y esquemas de autenticación propietaria (compatibilidad con MS ISA Server)
Para usar el diseñador visual de plantillas PDF o PyRece, necesitará instalar adicionalmente wxPython (versión 2.8.10.1 para Python 2.5) y gui2py
Para usar la tablas de intercambio dbf (dBase, Clipper, Fox Pro, etc.) se debe instalar dbf 0.88.019 o superior (descomprimirla en la carpeta de pyafipws, y los .py deben quedar adentro de la subcarpeta dbf). Ver el paquete actualizado en PyPI para versiones posteriores
NOTA: Se recomienda revisar los sitios en búsqueda de actualizaciones que pudieran corresponder, y verificar que la versión de la biblioteca descargada es compatible con la versión de Python elegida.
Para registrar el Servidor COM y poder acceder desde otros lenguajes ejecutar:
c:\python27\python.exe wsaa.py --register
c:\python27\python.exe wsfev1.py --register
c:\python27\python.exe wsmtx.py --register
c:\python27\python.exe wsfexv1.py --register
c:\python27\python.exe wscoc.py --register
c:\python27\python.exe wsctg3.py --register
c:\python27\python.exe wslpg.py --register
c:\python27\python.exe cot.py --register
c:\python27\python.exe trazamed.py --register
Instalar py2exe.
Para los nuevos instaladores para Windows es necesario tener Nullsoft Scriptable Install System (NSIS): http://nsis.sourceforge.net/Main_Page
Para generar los nuevos instaladores revisar el script de instalación setup.py y ejecutar:
c:\python27\python.exe setup.py py2exe
Ver documentación del nuevo instalador en Manual (pasos, opciones e instalación desatendida).
Para el instalador antiguo (desaconsejado ya que es obsoleto y no soporta todos los servicios web), ejecutar el archivobuild-pyafipws.bat incluido dentro del código fuente. Dicho archivo genera los mismos instaladores todo-en-uno distribuidos por este proyecto.
Para armar el paquete comprimido autoextraible se requiere la herramienta 7-zip:
- 7za465.zip (compresor 7z.exe por linea de comando)
- 7za914.zip (extras para autoextractor 7zSD.sfx)
Importante: esta sección es para usuarios avanzados, recomendamos ver el video explicativo y la sección anterior para un método más general.
Para facilitar la instalación se proveen dos scripts que automatizan el proceso:
- venv.bat: crea un entorno virtual (opcional, ver abajo)
- setup.bat: descarga e instala las dependencias, registrando todos los componentes
Pasos instalación rápida:
- Descargar pyafipws-master.zip, descomprimirlo e ingresar a la carpeta pyafipws-master
- Ejecutar
setup.bat
(doble click o por una consolacmd
)
Se recomienda ejecutarlos como Administrador, y es necesario instalar Python 2.7.9 previamente.
Los usuarios avanzados pueden ejecutar previamente venv.bat
por consola, para crear un entorno virtual.
Para mayor información ver siguientes secciones con los detalles.
Para obtener el código fuente de las dependencias principales (en especial para los contribuidores que deseen realizar ajustes), recomendamos clonar una versión actualizada desde el repositorio.
Nota: este paso no es necesario si el paquete se ha instalado según las instrucciones en las secciones previas.
Para PySimpleSoap, realizar los siguientes pasos:
hg clone git+https://github.com/pysimplesoap/pysimplesoap.git --config extensions.hggit=
cd pysimplesoap
hg update reingart
c:\python27\python.exe setup.py install
Ver nota sobre rama reingart en sección anterior.
Ídem para PyFPDF:
hg clone git+https://github.com/reingart/pyfpdf/
cd pyfpdf
c:\python27\python.exe setup.py install
Por diseño, la interfaz COM (wsaa.py
, wsfev1.py
) y herramientas (rece1.py
, recex1.py
y receb1.py
) funcionan en modo homologación, para habilitar modo producción, por ej. editar la linea #35:
HOMO = True
y cambiarla a:
HOMO = False
De lo contrario, la interfaz no tendrá en cuenta las URLs de los servidores de Producción, aunque sean informadas en CallWSAA
y Conectar
.
Nota: Esto no aplica a los módulos para Python (wsfev1.py
, wsfexv1.py
, etc.), pero también por defecto funcionan con URL de homologación.
Lo mismo aplica para WSFEv1
y WSMTXCA
.
Los siguientes comandos clonan el repositorio, crean un virtualenv e instalan los paquetes requeridos (incluyendo las últimas versiones de las dependencias) para evitar conflictos con otras bibliotecas.
Ejemplo para Debian/Ubuntu (abrir una terminal y ejecutar los comandos):
sudo apt-get install python-dev swig python-virtualenv mercurial python-pip libssl-dev python-dulwich
hg clone git+https://github.com/reingart/pyafipws.git --config extensions.hggit=
cd pyafipws
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
Para Windows es similar, ver pre-requisitos arriba:
- descargar get-pip.py y ejecutarlo (doble-click). Nota: Sólo versiones antiguas de Python (menor a 2.7.9) que no tengan
pip
incorporado - abrir una consola de comandos (
cmd
) y ejecutarpip.exe install wheel
- abrir una consola de comandos (
cmd
) y ejecutarpip.exe install virtualenv
Para compilar las dependencias binarias -M2Crypto-, instalar adicionalmente:
Ejemplo para Windows (instalar previamente Python 2.7.9 y ejecutar los siguientes comandos en una consola cmd
):
Instalar utilidades de instalación / entorno virtual:
pip install --upgrade pip
pip install --upgrade wheel
pip install --upgrade virtualenv
Crear y activar el entorno virtual venv (en el directorio actual)
virtualenv venv
venv\Scripts\activate
Instalar las dependencias binarias (precompiladas):
pip install https://www.sistemasagiles.com.ar/soft/pyafipws/M2Crypto-0.22.3-cp27-none-win32.whl
pip install https://www.sistemasagiles.com.ar/soft/pyafipws/pywin32-219-cp27-none-win32.whl
Instalar el resto de los requerimientos:
pip install -r requirements.txt