Skip to content

Fastapi error with dependency_injector of latest version #481

@Sadbot

Description

@Sadbot

Hello! Very useful library - thanks!
I have some trouble with using dependency services in my fastapi application of latest version. (with older versions - no problem)

I make a repository example with example code, that I trying to start.

First example, branch modules - I use container.wire(modules=....)
https://github.com/Sadbot/di-issue/blob/modules/main.py#L20

And I take an error:

  File "/home/sem/www/pythonProject/routes.py", line 25, in test
    return ORJSONResponse(content=ports.test())
           │                      └ <dependency_injector.wiring.Provide object at 0x7f4296bcd390>
           └ <class 'fastapi.responses.ORJSONResponse'>

AttributeError: 'Provide' object has no attribute 'test'

Second example, branch packages - I used container.wire(packages=...)
https://github.com/Sadbot/di-issue/blob/packages/main.py#L20

And I take and error on application startup:

Traceback (most recent call last):
  File "/home/sem/www/pythonProject/main.py", line 44, in <module>
    app = create_app()
  File "/home/sem/www/pythonProject/main.py", line 20, in create_app
    app.container.wire(packages=[routes])
  File "src/dependency_injector/containers.pyx", line 256, in dependency_injector.containers.DynamicContainer.wire
  File "/home/sem/www/pythonProject/.venv/lib/python3.6/site-packages/dependency_injector/wiring.py", line 330, in wire
    modules.extend(_fetch_modules(package))
  File "/home/sem/www/pythonProject/.venv/lib/python3.6/site-packages/dependency_injector/wiring.py", line 556, in _fetch_modules
    path=package.__path__,
AttributeError: module 'routes' has no attribute '__path__'

What's wrong I done in my code?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions