Un-deprecate `--process-dependency-links` until an alternative is implemented
See original GitHub issue- Pip version: 8.1.1
- Python version: 3.5.2
- Operating System: Ubuntu 16.04
Description:
The --process-dependency-links
was re-added to pip a while ago because there are a number of valid use-cases for the flag: https://github.com/pypa/pip/pull/1955
For this reason, it should probably be un-deprecated until an implementation of PEP 508/440 is in pip. The dependency_links
argument to setuptools’s setup
is also still documented and not deprecated: http://setuptools.readthedocs.io/en/latest/setuptools.html#dependencies-that-aren-t-in-pypi
What I’ve run:
$ pip install request --process-dependency-links
Collecting request
Downloading request-0.0.12.tar.gz
DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
...
Issue Analytics
- State:
- Created 7 years ago
- Reactions:70
- Comments:72 (46 by maintainers)
Top Results From Across the Web
What is the alternative to using --process-dependency-links ...
"DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release." I am on pip v7.1.2. What is the...
Read more >pip and dependency links - Google Groups
Setuptools has a “feature” called dependency links which allows one project to ... It would need to stop using them obviously before it...
Read more >Release Notes — pip 10.0.0.dev0 documentation
Implement a top-level pip download command and deprecate pip install --download . When uninstalling, look for the case of paths containing ...
Read more >Application Dependency Mapping: The Complete Guide
Dependency mapping is the process of gathering information about all your underlying application dependencies and presenting it in a way you can easily ......
Read more >Gradle 7.0 Release Notes
Before Gradle 7.0, the only way to declare dependencies between projects in a ... type-safe alternative to project(":commons:utils:numbers") implementation ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
What’s the proper workflow for this?
Let 's say there’s a library that I need to add a feature to. I fork it on Github. Feature isn’t going to be merged any time soon, so I have a tool that I set to use my Github fork instead of PyPi.
Now all of my users have to add --process-dependency-links when installing my tool with pip, which is a deprecated and even once removed flag?
Is there some option in setup.py that I’m missing or is there really no way around this? It seems like the only viable way to do this is to push up a forked pypi package. That is just going to add to user’s confusion once your pull request does get merged, anyway.
I want to leave a small but successful example here for those who first came upon this issue terrified (like me) about what to do with out --process-dependency-links. Using this workflow, my users are now been able to pip install from GitHub or from local sources (not PyPI), or to pip install requirements.txt, or to python setup.py install, and to work on Travis-CI, with pip version 18+, so I think it covers a lot of bases. I hope it is useful to someone, and my apologies if this seems off-topic to others:
In your requirements.txt file, assuming you want people to be able to depend on the GitHub dev branch of package “foo”, e.g.:
In your setup.py file:
Some would say that conflating
install_requires
andrequirements.txt
is ill-advised, and for a released version, I agree, but I think this works well for development.