Skip to content

InstalacionCodigoFuente

Mariano Reingart edited this page Jun 28, 2015 · 29 revisions

Antes de proceder, recomendamos revisar y consultar los siguientes sitios:

  • Sistemas Ágiles: soporte comercial pago (asesoramiento inicial gratuito por email). Documentación Manual de Uso
  • 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 consultas o inconvenientes para su resolución.
  • VIDEO Explicativo Paso a Paso: (blip.tv o youtube) sobre instalación en Windows: Python, dependencias y prueba en producción.

Instalación desde el código fuente

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:

git clone git+ssh://git@github.com/reingart/pyafipws.git pyafipws

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)

GNU/Linux

Debian y derivados (Ubuntu)

Instalar dependencias:

apt-get install python-httplib2 python-m2crypto

Descargar e instalar PySimpleSoap:

hg clone https://code.google.com/p/pysimplesoap/ -b reingart
cd pysimplesoap
hg update reingart
sudo python setup.py install

Nota: se recomienda actualizar a la rama reingart 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. Ejecutar hg update reingart como se indica antes de llamar a setup.py

Descargar e instalar PyFPDF:

hg clone https://code.google.com/p/pyfpdf/ 
cd pyfpdf
sudo python setup.py install

Para usar el diseñador visual de plantillas PDF o PyRece, necesitará instalar adicionalmente wxPython

sudo apt-get install wxpython

Fedora, CentOS, Red-Hat

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://httplib2.googlecode.com/files/httplib2-0.8.zip
unzip httplib2-0.8.zip
cd httplib2-0.8
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://pyfpdf.googlecode.com/archive/default.zip -O pyfpdf.zip
unzip pyfpdf.zip
cd pyfpdf-*
python2.6 setup.py install

Windows

Instalación automatizada

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:

  1. Descargar pyafipws-master.zip, descomprimirlo e ingresar a la carpeta pyafipws-master
  2. Ejecutar setup.bat (doble click o por una consola cmd)

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.

Dependencias

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.9 Python 2.7.9 "amd64" soporte para Python 3.x próximamente
OpenSSL (seguridad SSL/TLS) Win32OpenSSL 0.9.7m ** Win32OpenSSL 1.0.2c Win64OpenSSL 1.0.1o 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:\python25\python.exe setup.py install
Extensiones Windows para interfase COM pywin32 inst. v219 inst. v219 "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 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).

Desarrollo

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 https://code.google.com/p/pysimplesoap/ 
cd pysimplesoap
hg update reingart
c:\python25\python.exe setup.py install

Ver nota sobre rama reingart en sección anterior.

Ídem para PyFPDF:

hg clone https://code.google.com/p/pyfpdf/ 
cd pyfpdf
c:\python25\python.exe setup.py install

Adicionales

Para soporte proxy avanzado instalar ScksiPy y copiar socks.py en C:\Python25\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)

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.

Registración

Para registrar el Servidor COM y poder acceder desde otros lenguajes ejecutar:

c:\python25\python.exe pyafipws.py --register
c:\python25\python.exe wsaa.py --register
c:\python25\python.exe wsfev1.py --register
c:\python25\python.exe wsmtx.py --register
c:\python25\python.exe wsfexv1.py --register
c:\python25\python.exe wscoc.py --register
c:\python25\python.exe wsctg11.py --register
c:\python25\python.exe wslpg.py --register
c:\python25\python.exe cot.py --register
c:\python25\python.exe trazamed.py --register

NOTA: pyafipws.py es obsoleto y se mantiene por compatibilidad, utilizar los nuevos componentes modulares (wsaa.py, wsfev1.py, etc.)

Generación de Instalador

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:\python25\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 archivo https://code.google.com/p/pyafipws/source/browse/build-pyafipws.bat?name=c14809235349&r=db92558ef8c8778632404769f4e91a2c7ab1209d 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)

Uso en Producción

Por diseño, la interfaz COM (pyafipws.py, wsaa.py) y herramientas (rece.py, recex.py y receb.py) funcionan en modo homologación, para habilitar modo producción, por ej. editar la linea #28:

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.

Entornos Virtuales (virtualenv)

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.

venv en GNU/Linux

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
hg clone https://code.google.com/p/pyafipws
cd pyafipws
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

venv en Windows

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 ejecutar pip.exe install wheel
  • abrir una consola de comandos (cmd) y ejecutar pip.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 http://www.sistemasagiles.com.ar/soft/pyafipws/M2Crypto-0.22.3-cp27-none-win32.whl
pip install http://www.sistemasagiles.com.ar/soft/pyafipws/pywin32-219-cp27-none-win32.whl

Instalar el resto de los requerimientos:

pip install -r requirements.txt

Clone this wiki locally