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

Documentation: fix install error for Python 3.6 #1322

Merged
merged 8 commits into from
Oct 22, 2020
Merged

Conversation

bchen1116
Copy link
Contributor

@bchen1116 bchen1116 commented Oct 20, 2020

Fix #1242

Doc is here

Add documentation for installing EvalML for python 3.6. Avoids the shap error

@bchen1116 bchen1116 self-assigned this Oct 20, 2020
@codecov
Copy link

codecov bot commented Oct 20, 2020

Codecov Report

Merging #1322 into main will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1322   +/-   ##
=======================================
  Coverage   99.95%   99.95%           
=======================================
  Files         213      213           
  Lines       13560    13560           
=======================================
  Hits        13553    13553           
  Misses          7        7           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4250054...5d9d24c. Read the comment docs.

Copy link
Collaborator

@jeremyliweishih jeremyliweishih left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just a comment on wording.

docs/source/install.ipynb Outdated Show resolved Hide resolved
Copy link
Contributor

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@dsherry dsherry changed the title Fix install error for Python 3.6 Documentation: fix install error for Python 3.6 Oct 20, 2020
@@ -16,6 +16,8 @@
"pip install evalml\n",
"```\n",
"\n",
"For Python versions 3.6.X you must install `pip >= 18.0` and `setuptools > 40.0.0` in order to install evalml.\n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens when a user runs pip install evalml but has pip below this version, or setuptools below this version? Should we update our requirements with this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(We don't currently list pip or setuptools as dependencies)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user is using 3.6, they run into the shap error that caused this issue. I figured adding it into the install docs would be easiest since pip and setuptools aren't in our requirements docs

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is 100% relevant, but I'd like point out that creating a virtual env with 3.6 directly means we don't run into this issue:

python3.6 -m pip install virtualenv
python3.6 -m virtualenv my-venv --python=python3.6
source my-venv/bin/activate
python3.6 -m pip install shap (or -r requirements.txt in my case)

This works fine. Could be because of the versions of pip and setuptools that are installed with the virtualenv but didn't dig too deeply.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm yeah that's interesting. Looking further into it, when I used @angela97lin's approach, pip == 20.2.3 and setuptools == 50.3.1, as opposed to using pyenv to create a virtualenv for Python3. I think both approaches are valid since the versions of pip and setuptools are high enough. I think with the current message that I added, it should be enough to allow users to install evalml without issues. @dsherry Do you think these two should be added to our dependencies, or would leaving/updating the message be enough?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bchen1116 so as I just wrote on the issue, when I create a pyenv with 3.6.10 and run pip install ., it passes. But that fails with 3.6.0.

Can we update this to say "For older Python versions (3.6.0 in particular), you must install pip>=18.0 and setuptools>=40.0.0 before installing evalml."

Great find!

Copy link
Contributor

@dsherry dsherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with one comment. Thanks!

@@ -16,6 +16,8 @@
"pip install evalml\n",
"```\n",
"\n",
"For Python versions 3.6.X you must install `pip >= 18.0` and `setuptools > 40.0.0` in order to install evalml.\n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bchen1116 so as I just wrote on the issue, when I create a pyenv with 3.6.10 and run pip install ., it passes. But that fails with 3.6.0.

Can we update this to say "For older Python versions (3.6.0 in particular), you must install pip>=18.0 and setuptools>=40.0.0 before installing evalml."

Great find!

@bchen1116 bchen1116 merged commit 9c40065 into main Oct 22, 2020
@dsherry dsherry mentioned this pull request Oct 29, 2020
@freddyaboulton freddyaboulton deleted the bc_1242_shap branch May 13, 2022 15:35
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.

Error installing evalml (shap) when using python 3.6
5 participants