What is the equivalent of --find-links
/ -f
flag for pip
in setup.py
.
I know dependency_links
exist, but that requires pointing to a specific file, I want something similar to -f
that can point to a list of links from which the package can be selected based on version&os.
Finding Packages pip offers a number of package index options for modifying how packages are found. pip looks for packages in a number of places: on PyPI (if not disabled via --no-index ), in the local filesystem, and in any additional repositories specified via --find-links or --index-url .
install_requires is a section within the setup.py file in which you need to input a list of the minimum dependencies needed for a project to run correctly on the target operating system (such as ubuntu). When pip runs setup.py, it will install all of the dependencies listed in install_requires.
In a setuptools context the dependency_links
option should do what you need. According to setuptools documentation, this option accepts:
the URLs of web pages that contain direct download links
for example:
setuptools.setup(
# ...
dependency_links=[
"http://peak.telecommunity.com/snapshots/",
],
)
Important note regarding pip:
Since its version 19.0, released on 2019-01-22, pip ignores the setuptools options dependency_links
. The solution in a pip context is to use one of the pip install
options --index-url
, --extra-index-url
, or --find-links
.
The rationale behind the decision for pip to drop the support of setuptools dependency_links
is (in very short): pip should only download from PyPI unless the user themselves explicitly takes the responsibility to allow downloads from alternatives sources by using one of these previously mentioned options. More details can be found for example in this discussion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With