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

Added support for --process-dependency-links to pip installs #3162

Closed

Conversation

rgerkin
Copy link

@rgerkin rgerkin commented Oct 13, 2017

This adds support for the process-dependency-links pip flag as requested in #3156. If the user adds a process-dependency-links: True entry to the python section of their .yml config file, then config.process_dependency_links will evaluate as True (otherwise False). The pip_flags are then set accordingly, either with or without '--process-dependency-links'. Since there are now three possible pip_flags, I have a check for each of them (with two of them automatically included since they were there before).

@rgerkin
Copy link
Author

rgerkin commented Oct 13, 2017

This should pass once readthedocs/readthedocs-build#28 is accepted and this repo is built against it.

@agjohnson agjohnson added the Needed: design decision A core team decision is required label Oct 31, 2017
@ericholscher
Copy link
Member

Is there a reason we shouldn't just default to always running with process-dependency-links on? It seems like a fiddly thing to allow users to set.

What does it do?

@humitos
Copy link
Member

humitos commented Nov 30, 2017

I did a quick look and it seems to be a topic that was dicussed a couple of times. In fact, this option was deprecated some time ago.

Interesting reading:

I'm not super familiar with this option, either...

@rgerkin
Copy link
Author

rgerkin commented Dec 1, 2017

process-dependency-links has been deprecated and undeprecated a few times. Lots of people use it, so they can't get rid of it (and there is no convenient way to require packages from source without it). There is no reason to not just always include it, except that when they do finally get rid of it (if ever), anyone relying on it will see their RTFD builds break. But the alternative is that their RTFD builds never work in the first place.

@ericholscher
Copy link
Member

Can't you just install the dependencies with a pip requirements file?

@rgerkin
Copy link
Author

rgerkin commented Dec 1, 2017

If I want to maintain two separate sets of requirements, one in setup.py (so that python setup.py install or pip install . --process-dependency-links work) and one in requirements.txt (so that pip install -r requirements.txt; pip install . works), then I believe so. However, if any of the requirements itself requires dependency links (and doesn't implement the solution via a requirements.txt file) then I have the same problem again, and have to add those dependencies to my own requirements file. I shouldn't have to pip freeze with every commit.

The other issue is that conda support on RTFD is currently incompatible (I think) with a requirements file (the file is just ignored). I noted this in #2776. So my requirements file will just be ignored by the build process anyway.

@goerz
Copy link

goerz commented Apr 1, 2018

I urgently need this, unless there is some other way to install a version of a package that is not on PyPI in the RTD conda environment

@stsewd
Copy link
Member

stsewd commented Aug 30, 2018

@goerz please see my comment in #3156 (comment).

Closing as #3156 was closed, feel free to reopen if the proposed solution doesn't work. Thanks for the PR btw!

@stsewd stsewd closed this Aug 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needed: design decision A core team decision is required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants