Я создатель библиотеки module-wrapper и один из авторов библиотеки aioify . Проблема возникает в заклинании магического метода внутри библиотеки module-wrapper
(я называю module_wrapper.wrap
из aioify.aioify
, но это не имеет значения).
У меня есть следующий код:
#!/usr/bin/env python
from aioify import aioify
async def main():
from pathlib import Path
# noinspection PyPep8Naming
AioPath = aioify(obj=Path)
return await AioPath.create('/tmp')
if __name__ == '__main__':
import asyncio
loop = asyncio.get_event_loop()
path = loop.run_until_complete(main())
path_str = str(path)
print(path_str)
Я ожидаю получить следующий вывод:
/tmp
Но я получаю это:
<module_wrapper.wrap.<locals>.ObjectProxy object at 0x7f64266a9b00>
Я не могу понять, почему. Когда я звоню:
path_str = path.__str__()
print(path_str)
Я получаю то, что ожидаю:
/tmp
Когда я устанавливаю точку останова внутри отладчик магического метода-обертки не останавливается.
UPD0:
Чтобы воспроизвести это, вам нужно установить module-wrapper
и aioify
(из архива, потому что он не выпущен в PyPI). Не забудьте создать virtualenv раньше!):
pip install module-wrapper==0.1.26
pip install https://github.com/yifeikong/aioify/archive/0.3.0.zip