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

Fix install dev #776

Merged
merged 6 commits into from
Oct 13, 2022
Merged

Fix install dev #776

merged 6 commits into from
Oct 13, 2022

Conversation

Salehbigdeli
Copy link
Contributor

We need to add pip install --editable . just before pip install --editable .[all] because mlserver is listed in requirement of other sub-modules and this cause to install mlserver non-editable and from pypi.

@adriangonz
Copy link
Contributor

Good catch! This one has been nagging me for a while.

I think that the main "culprits" here are the individual inference runtime packages, which list mlserver there. Therefore, would it be enough to just have a single pip install -e .[all] after the runtimes have been installed (i.e. just move it towards the end)?

@Salehbigdeli
Copy link
Contributor Author

I agree, that's better solution.

Copy link
Contributor

@adriangonz adriangonz left a comment

Choose a reason for hiding this comment

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

Nice one @Salehbigdeli ! This one should be ready to go in (once tests are green).

Copy link
Contributor

@adriangonz adriangonz left a comment

Choose a reason for hiding this comment

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

Hey @Salehbigdeli ,

Just noticed you undid the latest changes. Did you find any issue with installing the editable version at the end?

@Salehbigdeli
Copy link
Contributor Author

Hey @Salehbigdeli ,

Just noticed you undid the latest changes. Did you find any issue with installing the editable version at the end?

The main reason was the pipeline and I couldn't reproduce the behavior on my local machine. Other than that:

  1. they aren't that different.
  2. placing pip install --editable . in the beginning installs mlserver once.

@adriangonz
Copy link
Contributor

Hey @Salehbigdeli ,

My main concern is that the approach suggested in this PR installs MLServer twice, one after the other:

pip install --editable .
pip install --editable .[all]

So I guess the main questions from my side would be:

  1. How does this fix the issue if the individual runtimes still get installed afterwards? And why is it required to install it twice?
  2. Related to 1. - to avoid someone else wondering the same in the future, could you add a comment to explain why it's done that way?
  3. What issues did you find when you changed it to a single pip install -e .[all] and moved it at the end?

@Salehbigdeli
Copy link
Contributor Author

Hey @Salehbigdeli ,

My main concern is that the approach suggested in this PR installs MLServer twice, one after the other:

pip install --editable .
pip install --editable .[all]

So I guess the main questions from my side would be:

1. How does this fix the issue if the individual runtimes still get installed afterwards? And why is it required to install it twice?

2. Related to `1.` - to avoid someone else wondering the same in the future, could you add a comment to explain why it's done that way?

3. What issues did you find when you changed it to a single `pip install -e .[all]` and moved it at the end?

I tried installing everything from scratch several time to see what exactly happens. here is what I found:
First, The [all] in pip install --editable .[all] is obsolete according to log WARNING: mlserver 1.2.0.dev6 does not provide the extra 'all'
Second, The root of the problem is one of requirements in huggingface when we want to install huggingface runtime there is other requirement that is compatible with mlserever==1.1.0 and pip decides to uninstall current version of mlserver==1.2.0.dev6 and install older. this conclusion come from this log: INFO: pip is looking at multiple versions of mlserver to determine which version is compatible with other requirements. This could take a while. Collecting mlserver
Third, I couldn't reproduce pipeline error on my local machine.
My conclusion:
You are right about placing pip install --editable . after installing runtimes.
I'll move pip install --editable . after installing runtimes, and if pipeline fail I can't do anything about it.

@adriangonz
Copy link
Contributor

Hey @Salehbigdeli ,

Thanks for those insights and thanks for taking the time to explore this one!

Good spot about the all extras not being there anymore. It seems that was removed a couple weeks ago (which went under the radar). RE the pipeline, I must have missed the previous pipeline error - I thought all tests were green? Now that a new run has been kicked off, let's see what the error is (it may have been an unrelated one).

@adriangonz adriangonz merged commit a0b49c6 into SeldonIO:master Oct 13, 2022
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