Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest version (3.14.0) does not work with Python 3.5 #208

JeroenEntjes opened this Issue Nov 7, 2018 · 5 comments


None yet
3 participants
Copy link

JeroenEntjes commented Nov 7, 2018

As the title says, upgrading to 3.14.0 while using Python 3.5.2 will cause the following error:

File "/Users/jeroenentjes/portal-vcn/mijnomgeving-backend/mijnomgeving/container/", line 5, in <module>
    from dependency_injector import containers, providers
  File "src/dependency_injector/providers.pxd", line 10, in init dependency_injector.containers
  File "src/dependency_injector/providers.pyx", line 22, in init dependency_injector.providers
AttributeError: module 'asyncio.coroutines' has no attribute '_is_coroutine'

It does work with Python 3.6

$ python3.5 -c "from asyncio.coroutines import _is_coroutine"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name '_is_coroutine'

$ python3.6 -c "from asyncio.coroutines import _is_coroutine; print(\"Done\")"

I have not seen any requirements for Python to be at least at version 3.6

Version 3.13.2 works just fine.

@rmk135 rmk135 self-assigned this Nov 7, 2018

@rmk135 rmk135 added the bug label Nov 7, 2018


This comment has been minimized.

Copy link

rmk135 commented Nov 7, 2018

Hi @JeroenEntjes ,

Thanks a lot for reporting an issue and doing investigation on it. I'm really sorry that this issue went through our testing gates :(

I've reviewed results of testing for 3.14.0 and it looks like things worked well with Python 3.5.6. Perhaps the issue is somewhere between versions 3.5.2 and 3.5.6.

Please, downgrade Dependency Injector to <3.14 or upgrade your Python to >3.5.6 as a temporary solution. I will work on hotfixing it from my side in next few days.

PS: What OS do you use? Is Python 3.5.2 a system Python there? Just looking for a way to get environment with 3.5.2 without compiling it from sources...



This comment has been minimized.

Copy link

wiryonolau commented Nov 8, 2018

I'm using latest Ubuntu 16.04, Python is 3.5.2 doesn't work for me same error.
I don't use coroutine at the moment, so 3.12.4 is enough for now


This comment has been minimized.

Copy link

JeroenEntjes commented Nov 8, 2018

Hi, thanks for your replies!

Indeed my temporary solution has been to downgrade Dependency Injector to a lower version. I am using Mac OS Mojave 10.14.
Python runs using pyenv ( in a virtual environment. System Python is 2.7.something, I do not use it. My global and local pyenv are set to 3.5.2. The reason for running 3.5.2 is that I work on a project where the remote server's python version is also 3.5.2, we are in the process of updating to 3.6 but have not gotten around to it.

Don't worry about the testing gates, I know all about them. I am currently able to work just fine using a downgraded version of DI and we will soon upgrade to Python 3.6+ I figured I'd report this when it happened anyway, in case anyone else suffers from it.

rmk135 added a commit that referenced this issue Nov 8, 2018


This comment has been minimized.

Copy link

rmk135 commented Nov 8, 2018

Issue is fixed at 3.14.2

@JeroenEntjes U're welcome to upgrade :)

Full 3.14.2 & 3.14.1 changelogs could be found here.

@JeroenEntjes , thanks a lot for posting the issue.



This comment has been minimized.

Copy link

rmk135 commented Nov 8, 2018

Closing this issue. Please, feel free to reopen if needed.

@rmk135 rmk135 closed this Nov 8, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.