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

Remove --no-deps from pip install command #144

Merged
merged 1 commit into from
Feb 4, 2019

Conversation

koverholt
Copy link
Contributor

Removing --no-deps from pip install command to match up with user expectations around pip/conda and resolving dependencies.

cc @fpliger

@fpliger
Copy link
Contributor

fpliger commented Dec 14, 2017

@koverholt what will happen if some of the deps are already installed by conda? and what happens if you conda update or conda remove later? pip is probably smart enough and will avoid installing packages already installed by conda but worth checking that actually behavior matches expectations. (it'd be also good to have tests covering those cases)

Another thing to consider is that if you don’t have a compiler, there are limits to what pip can do (i.e. no C extensions)...

In my mind, the best option would be to bubble this as an option argument if we want to change the default behavior (so at lease we have a backup plan).

@danielfrg
Copy link

bump @fpliger pls do this

@mcg1969
Copy link
Collaborator

mcg1969 commented Jan 6, 2019

Honestly not sure what the right behavior here ought to be.

@cpbotha
Copy link
Contributor

cpbotha commented Feb 2, 2019

--no-deps should definitely be removed. My reasons for saying this:

  • using pip inside of a conda environment is a use-case which occurs often; less so the other way round. anaconda-project first resolves the conda environment, and then does the pip installs.
  • with --no-deps and more than one or two pip packages, you are bound to have a broken environment. Put differently: people are going to run into broken environments much more often than not.
  • because pip and conda work in the same site-packages, pip generally recognizes conda-installed packages.
  • I've just double-checked with the latest version of conda as of today: conda env runs pip install WITH the resolving of dependencies. Just to ram home that point: I am working on a conda environment with additional pip packages at this moment which conda env handles with aplomb, but with which anaconda-project builds an unusable environment.

I hope that helped. Please merge this PR as soon as you can @mcg1969 :)

@mcg1969
Copy link
Collaborator

mcg1969 commented Feb 3, 2019

@cpbotha, you make a great case. @fpliger, I'm personally convinced. Any thoughts?

@mcg1969
Copy link
Collaborator

mcg1969 commented Feb 4, 2019

I would say that I don't really think it's anaconda-project's job to police conda's behavior here. I think that if we simply codify that anaconda-project executes conda first and pip second, we're fine.

@fpliger fpliger merged commit bd3114f into anaconda:master Feb 4, 2019
@fpliger
Copy link
Contributor

fpliger commented Feb 4, 2019

+1 on my side as well... (sorry for the delay :) )

@mcg1969 mcg1969 mentioned this pull request Aug 7, 2019
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.

None yet

5 participants