uvloop asks for python 3.7 but can be run with lower version

2.9k Views Asked by At

I am using an open-source python package 'farm-Haystack' in my school project. When I installed the requirements.txt in python3.6 venv I got this error :

Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-t35n0vdx/uvloop_059c5c705acc434ab0515b073c3e079b/setup.py", line 5, in <module>
        raise RuntimeError('uvloop requires Python 3.7 or greater')
    RuntimeError: uvloop requires Python 3.7 or greater
    ----------------------------------------

It's apparently saying that python 3.7 is needed for this package while I am using python 3.6. I didn't notice this error message at the time and keep working with the program. The program is compiled successfully and run as expected.

When I scrolled back and found the message I am really curious why this dependency can still be resolved. I can find uvloop via pip freeze and can also import it into my program. I am wondering what could be the possible result if uvloop does not match the python version it require, as I am totally unfamiliar with this package.

(I hope I don't have to upgrade the python version, it took me a long time to make everything run successfully)

1

There are 1 best solutions below

0
On BEST ANSWER

It looks like one of the packages includes an unpinned dependency for uvloop.

Starting from uvloop 0.15.0 it requires Python 3.7 or greater.

To fix it need to freeze the version in requirements.txt:

...
uvloop==0.14.0
...