Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equivalent for `--find-links` in `setup.py`

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.

like image 921
George Avatar asked Aug 28 '19 09:08

George


People also ask

What is PIP find links?

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 .

What is Install_requires in setup py?

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.


1 Answers

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.

like image 99
sinoroc Avatar answered Oct 08 '22 11:10

sinoroc