Products.cmfplone: Start migrating Plone to Python 3

Created on 17 Nov 2017  路  5Comments  路  Source: plone/Products.CMFPlone

Meta-ticket to collect todos for this task.

Initial work was documented in https://docs.google.com/document/d/1rYN817-9SjAQulpes36k1veTt4pABZRbl0T0BbuZrHA/edit#

Follow the best practice doumentation in https://github.com/plone/Products.CMFPlone/issues/2184#issuecomment-359445243 when working on this!

Tasks

  • [ ] Document setup of different Python 3 versions, tox and related tools to test and maintain Python 3 compatibility.
  • [ ] Migrate GenericSetup and MailHost to Python 3 [@gotcha and @witsch] (Note https://github.com/zopefoundation/Products.GenericSetup/pull/52 for a small fix that is needed.)
  • [X] Update the jenkins-job for python3 (http://jenkins.plone.org/view/py3)
  • [ ] Migrate packages without CMFPlone dependencies (e.g. finish migration of plone.rfc822)
  • [ ] Fix all import-errors everywhere (use 2to3 and six to create backwards-compatible imports)
  • [ ] Look at plone.testing and plone.app.testing if we can get the lowermost testlayers to start on python 3

Packages that were worked on regarding Python 3

Most helpful comment

Take care that many of that PR use the _compat module approach instead of sixer.
We should not merge them as they are, see:

All 5 comments

Take care that many of that PR use the _compat module approach instead of sixer.
We should not merge them as they are, see:

Packages that still need to be looked at for this ticket: https://public.etherpad-mozilla.org/p/Plone_on_Python_3
Many of those are already ok (like WebOb). It is simply a diff between the list above and the packages used in ./bin/test
[Edit: the relevant items of the etherpad list have been copied to the big list here above.]

I close this in favour of keeping thing central at #2368

I worked on the package cioppino.twothumbs and updated it locally with sixer and python-modernize and some fixes of imports. The package works in my local environment. I tried to test my pull request for python 2 to 3 with Travis-CI, but I can't get Travis to work. I need some hints how I could fix this. My current work is available here: https://github.com/collective/cioppino.twothumbs/pull/23 (I used branch python3 inside my own fork).

Was this page helpful?
0 / 5 - 0 ratings