Использование дополнительного url-адреса индекса пакета python с setup.py

есть ли способ использовать дополнительный индекс пакета python (ala pip --extra-index-url pypi.example.org mypackage) с setup.py Так что работает python setup.py install можно найти пакеты, размещенные на pypi.example.org?

4 ответов


если вы разработчик, и вы хотите разместить одну или несколько зависимостей для пакета где-то кроме PyPi, вы можете использовать dependency_links на setuptools в вашем дистрибутиве . Это позволяет указать явное местоположение, в котором может находиться ваш пакет.

например:

from setuptools import setup

setup(
    name='somepackage',
    install_requires=[
        'somedep'
    ],
    dependency_links=[
        'https://pypi.example.org/pypi/somedep/'
    ]
    # ...
)

если вы размещаете свой собственный сервер индексов, вам нужно будет предоставить ссылки на страницы, содержащие фактические ссылки для загрузки каждое яйцо, а не страница со списком всех пакетов (например,https://pypi.example.org/pypi/somedep/, а не https://pypi.example.org/)


setuptools использует easy_install под капотом.

он полагается на настройка.cfg для или ~/.pydistutils.cfg для как документально здесь.

дополнительные пути к пакетов можно определить в любом из этих файлов с помощью find_links. Url-адрес реестра можно переопределить с помощью index_url но не могу поставить extra-index-url. Пример ниже вдохновленный документами:

[easy_install]
find_links = http://mypackages.example.com/somedir/
             http://turbogears.org/download/
             http://peak.telecommunity.com/dist/
index-url = https://mypi.example.com

насколько я знаю, вы не можете сделать это. Вы должны сказать pip это, или передав параметр, как вы упомянули, или установив это в пользовательской среде.

проверить мой ~/.пип/пип.conf:

[global]
download_cache = ~/.cache/pip
index-url = http://user:pass@localpypiserver.com:80/simple
timeout = 300

в этом случае мой локальный pypiserver также прокси все пакеты из pypi.python.org, поэтому мне не нужно добавлять 2-ю запись.


вы можете включить --extra-index-urls в требования.txt-файл. Смотри:http://pip.readthedocs.org/en/0.8.3/requirement-format.html