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

Add testing for Python 3.7 #970

Closed
carver opened this issue Jun 28, 2018 · 8 comments · Fixed by #1109
Closed

Add testing for Python 3.7 #970

carver opened this issue Jun 28, 2018 · 8 comments · Fixed by #1109

Comments

@carver
Copy link
Contributor

carver commented Jun 28, 2018

What is wrong?

Python 3.7 stable has been released: https://pythoninsider.blogspot.com/2018/06/python-3.html
We are not currently running any tests against it.

How can it be fixed

Start running the core tests against py3.7 in addition to the current python envs.

@veox
Copy link
Contributor

veox commented Jun 29, 2018

CircleCI does not yet provide machine images with pre-installed Python 3.7 stable release - only beta 5 and the release candidate.

Watch docs or docker hub (linked from docs) for when those become available.


EDIT: For a comparison between beta 5 and the RC - see Python's change log.

@veox
Copy link
Contributor

veox commented Jun 29, 2018

Some dependencies might not yet support Python 3.7: see failed job:

idna-ssl requires Python '<3.7.0' but the running Python is 3.7.0

EDIT: Arch Linux users are very likely to get hit with this first. See package page for when it enters testing/extra repos.


For ref, I used this branch of mine. It requests the python3.7-rc image from CircleCI, but manual inspection via SSH shows the machine had beta 5 installed:

circleci@e5fdac382095:~$ python --version
Python 3.7.0b5

EDIT: I'd say better wait for an image with 3.7 stable to avoid such shenanigans.

@carver
Copy link
Contributor Author

carver commented Jun 29, 2018

The first exploratory steps of seeing what else is broken besides idna-ssl can be started. Totally agree that we should wait until a stable 3.7 image is released before it goes into CI.

@veox
Copy link
Contributor

veox commented Jul 9, 2018

Summary: still waiting.


Images with Python 3.7.0 (the stable version) have become available.

I've made a new branch and directed it to use this new machine image, but there are still dependency problems.

The plyvel Python package does not have a pre-built wheel available for Python 3.7; so the tox run attempts to build the package itself; the system packages libleveldb-dev and libgmp-dev are not installed on the (Debian 9, "Stretch") machine, so the build fails.

After SSH'ing in and installing them, the build still fails, with same error as in wbolster/plyvel#62, i.e. because building plyvel requires leveldb header version at least 1.20, whereas Stretch has 1.18.

Possible approaches:

  1. wait for plyvel to get a py3.7 wheel, or help it happen; alternatively,
  2. enable the Debian testing repo ("Buster"), which has libleveldb-dev 1.20.

(2) can get very brittle, so IMO best avoid it.

@pipermerriam
Copy link
Member

We can probably open a PR to plyvel to enable testing against 3.7. Once that is passing I doubt it would take too much coaxing to get them to push out a new release with 3.7 support.

Alternatively, we've wanted to explore RocksDB (but I don't know if whatever python library sits on top of that supports 3.7 either)

@hairychris
Copy link

hairychris commented Jul 14, 2018

There is an issue with the Travis CI server and Python 3.7 but wheels can come before that
wbolster/plyvel#79

@dylanjw
Copy link
Contributor

dylanjw commented Jul 25, 2018

It looks like plyvel 1.05 has been pushed with a py3.7 wheel

@veox
Copy link
Contributor

veox commented Jul 30, 2018

Issue no longer blocked: I've had a successful CI job for core tests with Python 3.7.

Currently cleaning up that branch, will submit a PR.

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

Successfully merging a pull request may close this issue.

6 participants