aws / aws/aws-xray-sdk-python

Pymongo patch does not work in Python 3.5

Offen
#166 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Python
Sterne
338
Forks
147
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, django, python
Bereich
backend, databases
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.