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 CI test for Python 3.9 #1263

Closed
gsheni opened this issue Oct 5, 2020 · 8 comments · Fixed by #1724
Closed

Add CI test for Python 3.9 #1263

gsheni opened this issue Oct 5, 2020 · 8 comments · Fixed by #1724
Assignees
Labels
task Scripting, configuration, or other work which doesn't categorize well as a feature/enhancement/bug. testing Issues related to testing.

Comments

@gsheni
Copy link
Contributor

gsheni commented Oct 5, 2020

@angela97lin
Copy link
Contributor

Great idea! This might be blocking until CircleCI has an image for 3.9.0 though (https://circleci.com/docs/2.0/docker-image-tags.json)

@dsherry dsherry added task Scripting, configuration, or other work which doesn't categorize well as a feature/enhancement/bug. testing Issues related to testing. labels Oct 7, 2020
@dsherry
Copy link
Contributor

dsherry commented Oct 20, 2020

@gsheni closed #1283 because numpy doesn't support 3.9 yet. Let's revisit this when numpy adds that support.

@angela97lin
Copy link
Contributor

angela97lin commented Jan 22, 2021

I tried a variety of different things to get python 3.9 working. It looks like since the last time @gsheni tried, numpy has added support for Python 3.9 via numpy 1.19.3 and above. However, it looks like a package of a package we need (woodwork-->pyarrow) still does not have wheels for 3.9 yet. The latest version (2.0.0) of pyarrow also specifies numpy==1.16.0 for versions of python 3.7.0 and above. This breaks, since numpy 1.16.0 doesn't have a python 3.9 wheel.

The bright side is, it seems that the team is aware of this and is working on adding the python 3.9 wheel. The attached issues seem to suggest that we could see this addition soon (01-2021 release)!

apache/arrow#8915
apache/arrow#8386

Some useful output from failed tests:
https://circleci.com/api/v1.1/project/github/alteryx/evalml/108170/output/103/0?file=true&allocation-id=600b511763ecf124a9f28fa9-0-build%2F26747107
https://app.circleci.com/pipelines/github/alteryx/evalml/9183/workflows/7e22bb52-91ae-4db3-bb1f-ef8760b3cae2/jobs/108188

@angela97lin
Copy link
Contributor

@dsherry I'll put this back in the backlog for now, and we can revisit in a few weeks to see if this issue has been resolved, does that sound good?

@angela97lin
Copy link
Contributor

angela97lin commented Jan 22, 2021

Dug into Woodwork code, and it looks like pyarrow is used in order to support serialization (parquet): https://github.com/alteryx/woodwork/blob/a867b2188448de369c8f659e898a8f1ec446a5b3/woodwork/datatable.py

Going to try manually installing all other dependencies and then installing woodwork without installing its dependencies to see if anything else breaks 👀

Update: Installing all woodwork dependencies except pyarrow, and then installing woodwork works for python 3.9!!: https://app.circleci.com/pipelines/github/alteryx/evalml/9196/workflows/923e2432-20d5-4caf-87ef-bc59a87a4e1b/jobs/108391

However, this requires us to separately install woodwork dependencies before we can install our core-requirements.txt 😬 and doesn't make a good long-term solution. Not sure if this will work for docs, where we have less control over our build? Also, we may want to wait for numbas support: anyways numba/numba#6345
https://app.circleci.com/pipelines/github/alteryx/evalml/9196/workflows/923e2432-20d5-4caf-87ef-bc59a87a4e1b/jobs/108391

@angela97lin
Copy link
Contributor

This is currently blocking on alteryx/woodwork#505!

@angela97lin
Copy link
Contributor

Not sure how this isn't an issue via CircleCI but trying to run locally, I run into: numba/llvmlite#621
... which again goes back to numba not yet supporting Python 3.9.

@angela97lin
Copy link
Contributor

This issue is currently blocked on numba/llvmlite not supporting Python 3.9. Looks like release with support for 3.9 could be out soon, so exciting (numba/numba#6684), but putting into backlog until then.

@angela97lin angela97lin removed this from the Sprint 2021 Jan B milestone Feb 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Scripting, configuration, or other work which doesn't categorize well as a feature/enhancement/bug. testing Issues related to testing.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants