circus-tent / circus

A Process & Socket Manager built with zmq
http://circus.readthedocs.org/
Other
1.55k stars 258 forks source link

Drop support for Python versions 2.7 and 3.4 #1126

Closed biozz closed 4 years ago

biozz commented 4 years ago

As discussed in #1124, we can start the process of dropping older python versions support.

Main changes are driven by following this article and include:

Other changes include:

I also did a small test on Windows (inside VirtualBox), thats why there are couple of skipIf(IS_WINDOWS) in the changes. Unfortunately the tests are completely broken in Windows and I think proper fixing should be done separately.

Finally, I went through examples directory and tried starting several of those to make sure the changes didn't break anything.

coveralls commented 4 years ago

Coverage Status

Coverage increased (+0.9%) to 63.911% when pulling 48dadba3deb78778806565bb52b30501032fc58d on biozz:drop-py27-py34 into bfa21890605462f34ff59c20b2a3e1d11bfa4704 on circus-tent:master.

coveralls commented 4 years ago

Coverage Status

Coverage remained the same at ?% when pulling 8e128e73d2e960a5f422ca183fef10c6578debf4 on biozz:drop-py27-py34 into 422d64dbf5823bd5c81c08d0b2a881c296b3d603 on circus-tent:master.

huydangg commented 4 years ago

I am facing the problem when I set httpd is True.

Traceback (most recent call last): File "", line 1, in File "/data1/python38/lib/python3.8/site-packages/circusweb/circushttpd.py", line 17, in from circusweb.util import AutoDiscovery, run_command File "/data1/python38/lib/python3.8/site-packages/circusweb/util.py", line 12, in from circusweb.session import get_controller File "/data1/python38/lib/python3.8/site-packages/circusweb/session.py", line 1, in from circusweb.controller import Controller File "/data1/python38/lib/python3.8/site-packages/circusweb/controller.py", line 2, in from circusweb.client import AsynchronousCircusClient File "/data1/python38/lib/python3.8/site-packages/circusweb/client.py", line 9, in from circus.py3compat import string_types ModuleNotFoundError: No module named 'circus.py3compat'`

This is relate to "remove py3compat module"?

Thanks.

biozz commented 4 years ago

Yes, you are right. I completely forgot about circus-web, sorry. I will try to have a look at it as soon as possible. Thank you for reporting!

biozz commented 4 years ago

@huydangg I had a look on this issue and fixing this import is just the tip of the iceberg... We will have to make circus-web compatible with python3 as well as with the new versions of tornado. I will try to make it happen, but it is not trivial and might take quite some time. For now you can try using previous versions of circus/circus-web/tornado.

huydangg commented 4 years ago

@biozz Thank you for your support. I will try using previous version.