aws / aws/aws-xray-sdk-python

Pymongo patch does not work in Python 3.5

Abierto
#166 3 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
338
Forks
147
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I tried to patch `pymongo` in mi project that is in Python 3.5 but when i run it the following error appear:

```python
Unhandled exception in thread started by .wrapper at 0x7f81714f5620>
Traceback (most recent call last):
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/utils/autoreload.py", line 228, in wrapper
fn(*args, **kwargs)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
autoreload.raise_last_exception()
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/utils/autoreload.py", line 251, in raise_last_exception
six.reraise(*_exception)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/utils/autoreload.py", line 228, in wrapper
fn(*args, **kwargs)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/django/apps/registry.py", line 116, in populate
app_config.ready()
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/ext/django/apps.py", line 47, in ready
patch(settings.PATCH_MODULES, ignore_module_patterns=settings.IGNORE_MODULE_PATTERNS)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/core/patcher.py", line 96, in patch
_patch_module(m, raise_errors)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/core/patcher.py", line 105, in _patch_module
_patch(module_to_patch)
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/core/patcher.py", line 120, in _patch
imported_module = importlib.import_module(path)
File "/usr/local/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/ext/pymongo/__init__.py", line 2, in
from .patch import patch
File "/home/julianad/Alkanza/virtualenv/alkanza-django3.5/lib/python3.5/site-packages/aws_xray_sdk/ext/pymongo/patch.py", line 23
host_and_port_str = f'{host}:{port}'
^
SyntaxError: invalid syntax
```
I notice that you are using the `f` prefix but i think is not compatible with Python 3.5. I removed `pymongo` from the list of modules to patch and it worked.

I don't know if there is a way to build `pymongo` patch with a syntax that is compatible with all python versions that you support but i would really appreciate it

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Inspect aws_xray_sdk/ext/pymongo/patch.py, especially line 23 shown in the traceback, and reproduce the issue with the Python 3.5 environment while pymongo remains in PATCH_MODULES. Done means the pymongo patch imports and Django starts without the SyntaxError.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, django, python
Área
backend, databases
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.