reingart / pyafipws

Factura Electrónica AFIP y otros servicios web (proyecto software libre) — Interfases, tools and apps for Argentina's gov't. webservices (soap, com/dll simil-ocx, pdf, dbf, xml, json, etc.) #python
http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs
GNU Lesser General Public License v3.0
286 stars 224 forks source link

incompatibilidad con python 3.11 #99

Open acognigni-evotecnia opened 1 year ago

acognigni-evotecnia commented 1 year ago

PyAfipWs o una de sus dependencias no son compatibles con Python 3.11 ya que en esta version se quito la funcion 'getargspec' del objeto 'inspect'. no recuerdo exactamente uqe error daba. pero menciona 'inspect.getargspec'

reingart commented 1 year ago

Gracias por el reporte!

Estoy ajustando en una rama los cambios para soportar Python 3.11 Aparentemente el problema viene de la librería pysimplesoap, para determinar características de versiones viejas de httplib2 Dejo el PR para solucionarlo: https://github.com/pysimplesoap/pysimplesoap/pull/204

Copio el mensaje de error completo (según la ejecución tests):

Run pytest --html=report.html --self-contained-html
ImportError while loading conftest '/home/runner/work/pyafipws/pyafipws/tests/conftest.py'.
tests/conftest.py:15: in <module>
    from pyafipws.wsaa import WSAA
/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/PyAfipWs-3.11.1-py3.11.egg/pyafipws/wsaa.py:3[9](https://github.com/reingart/pyafipws/actions/runs/3519199212/jobs/5898894972#step:13:10): in <module>
    from pysimplesoap.client import SimpleXMLElement
/opt/hostedtoolcache/Python/3.[11](https://github.com/reingart/pyafipws/actions/runs/3519199212/jobs/5898894972#step:13:12).0/x64/lib/python3.11/site-packages/pysimplesoap/__init__.py:4: in <module>
    from . import client
/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pysimplesoap/client.py:35: in <module>
    from .transport import get_http_wrapper, set_http_wrapper, get_Http
/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pysimplesoap/transport.py:[14](https://github.com/reingart/pyafipws/actions/runs/3519199212/jobs/5898894972#step:13:15)1: in <module>
    if 'timeout' in inspect.getargspec(httplib2.Http.__init__)[0]:
E   AttributeError: module 'inspect' has no attribute 'getargspec'
acognigni-evotecnia commented 10 months ago

Nueva incompatibilidad con python 3.12 porque quita el paquete distutils lo cual rompe el quick start.

entiendo que la version recomendada es la 3.9, pero me parecio mejor avisar

enalce: https://docs.python.org/3.11/whatsnew/3.10.html#distutils-deprecated

ricardosve commented 8 months ago

Hola gente como estan? Estoy padeciendo para poder hacer funcionar pyafipws bajo linux modernos. Estaba todo bien cuando el python actual era 3.9 ya que funcionaba todo pero con las nuevas versiones se empezo a complicar y ahora directamente no puedo usarlo. Siguiendo los tutoriales logre crear el entorno virtual para correr en consola por ejemplo: python3 rece1.py /ult y funciona pero dentro del entorno virtual. Tengo un aplicacion que llama a este comando pero no puedo (o no se y no encuentro como) correrlo desde la aplicacion. Tambien recalco que no es posible que funcione con la 3.12 de python que algunas distros ya la estan incluyendo y es un despelote (por lo menos para mi) instalar alguna version anterior como la 3.9. Si alguien puedfe darme una mano estaria muy agradecido --edit-- En windows funciona perfectamente ya que puedo descargar e instalar la version de python necesaria y configurar todo correctamente, es en linux donde esta complicado el panorama.

astinlg commented 3 months ago

arlo. Siguiendo los tutoriales logre crear el entorno virtual para correr en consola por ejemplo: python3 rece1.py /ult y funciona pero dentro del entorno virtual. Tengo un aplicacion que llama a este comando pero no puedo (o no se y no encuentro como) correrlo desde la aplicacion. Tambien recalco que no es posible que funcione con la 3.12 de python que algunas distros ya la estan incluyendo y es un despelote (por lo menos para mi) instalar alguna version anterior como la 3.9. Si alguien puedfe darme una mano estaria muy agradecido --edit--

Podes usar pyenv para controlar la version de python