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

Python3 WIP #61

Open
wants to merge 1 commit into
base: python3
Choose a base branch
from
Open

Python3 WIP #61

wants to merge 1 commit into from

Conversation

bmoscon
Copy link
Contributor

@bmoscon bmoscon commented Jul 12, 2019

Does not current fully function. This PR is the bare minimum number of changes to

  1. Ensure the package is pip-installable and installable with setup tools.
  2. Removes libraries that do not support python3
  3. Minimal code changes to ensure as few errors/failures as possible when running tests.

2 failure types remain:

  • ImportError: Building module gryphon.execution.harness.harness failed: ['ImportError: Building module gryphon.execution.harness.exchange_coordinator failed: ["ModuleNotFoundError: No module named \'monkeypatch_timeit\'\\n"]\n']
  • AttributeError: module 're' has no attribute '_pattern_type'

The latter would need to be fixed by upgrading to a newer version of sure as _pattern_type was dropped from 3.7 in favor of re.Pattern

One other concern is the removal of line_profiler which also seems to have a known issue, see rkern/line_profiler#132

My belief is that this is a good starting point for others (and myself) to continue working on python3 support

@bmoscon
Copy link
Contributor Author

bmoscon commented Jul 12, 2019

from my local testing:

261 tests run in 0.900 seconds.
7 errors (254 tests passed)

@cclauss
Copy link

cclauss commented Jul 12, 2019

Is this going to preserve Python 2 functionality? Did you try tools like futurize or modernize? The six module is a dependency so that can be used.

@bmoscon
Copy link
Contributor Author

bmoscon commented Jul 13, 2019

@cclauss no. I spoke with @garethdmm about which route he preferred and he said for now to just make python3 only changes to this branch. I'm well aware of how to support python2 and 3 in a project but did not choose to do so because python2 is EOL and most major libraries have already pledged their support for Python3 only going forward.

@bmoscon
Copy link
Contributor Author

bmoscon commented Jul 13, 2019

also, getting the tests to pass is one thing, some of the libraries the python2 version uses are extremely old and deprecated, or no longer maintained. Some are also python2 only, so even once the tests pass there are undoubtedly going to be some major changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants