Установка пакета из приватного pypi в zc.buildout

Я пытаюсь установить пакет python с частного сервера pypi reportlab, используя zc.buildout.

Когда я устанавливаю, используя инструкции, представленные на их собственном сайте, то он устанавливается без проблем. http://www.reportlab.com/reportlabplus/installation/

Однако, если я устанавливаю с помощью zc.buildout, я продолжаю получать Couldn't find distributions for 'rlextra'. Я добавил их репозиторий pypi в find-links, поэтому не уверен, что мне не хватает.

Моя конфигурация сборки:

[buildout]
versions = versions
include-site-packages = false
extensions = mr.developer
unzip = true

find-links = https://[user]:[pass]@www.reportlab.com/pypi

parts =
    python
    django
    compass-config

auto-checkout = *

eggs =
    ...
    rlextra
    ...

... etc.

Редактировать: я должен отметить, что в конце концов я вручную загрузил пакет и использовал его в своей сборке в качестве пакета разработки. Несмотря на то, что это решает насущную проблему, я все же хотел бы знать, почему моя исходная установка не работает.


person Andre    schedule 25.05.2014    source источник


Ответы (1)


Вы передаете основную ссылку PyPI для URL-адреса find-links, но find-links работает только со страницами в стиле простого индекса (которые существуют для каждого пакета в PyPI).

Например, пакет beautifulsoup4 имеет простую индексную страницу https://pypi.python.org/simple/beautifulsoup4/.

Сервер ReportLab также имеет простые страницы; добавьте пакет для этого пакета в свою сборку:

find-links = https://[user]:[pass]@www.reportlab.com/pypi/simple/rlextra/

IIRC вы также можете добавить URL-адрес https://[user]:[pass]@www.reportlab.com/pypi/simple верхнего уровня в качестве ссылок поиска, но, будучи более конкретным, экономит на обходах URL-адресов.

person Martijn Pieters    schedule 25.05.2014
comment
Ах, спасибо! Это работает, и пакет находится правильно, а сборка пытается его установить. К сожалению, на данный момент я получаю ошибку данных Bad Marchsal, но это отдельная проблема для этого вопроса, поэтому я отмечу это как правильный ответ. - person Andre; 26.05.2014