Содержание страницы
6. Регистрация в индексе пакетов¶Registering with the Package Index
Индекс пакетов Python (PyPI) содержит метаданные, описывающие дистрибутивы, упакованные с помощью distutils. Команда distutils register используется для отправки метаданных вашего дистрибутива в индекс. Она вызывается следующим образом:
python setup.py register
Distutils ответит следующим приглашением:
running register
We need to know who you are, so please choose either:
1. use your existing login,
2. register as a new user,
3. have the server generate a new password for you (and email it to you), or
4. quit
Your selection [default 1]:
Примечание: если ваши имя пользователя и пароль сохранены локально, это меню отображаться не будет.
Если вы ещё не зарегистрированы в PyPI, вам необходимо сделать это сейчас. Следует выбрать вариант 2 и ввести свои данные по запросу. Вскоре после отправки данных вы получите электронное письмо, которое будет использовано для подтверждения регистрации.
После регистрации вы можете выбрать вариант 1 из меню. Вас попросят ввести имя пользователя и пароль PyPI, а затем register отправит ваши метаданные в индекс.
Вы можете отправить любое количество версий вашего дистрибутива в индекс. Если вы измените метаданные для определённой версии, вы можете отправить их снова, и индекс будет обновлён.
PyPI хранит запись для каждой отправленной комбинации (имя, версия). Первый пользователь, отправивший информацию для данного имени, назначается Владельцем этого имени. Он может вносить изменения через команду register или через веб-интерфейс. Он также может назначать других пользователей Владельцами или Сопровождающими. Сопровождающие могут редактировать информацию о пакете, но не назначать других Владельцев или Сопровождающих.
По умолчанию PyPI отображает все версии данного пакета. Чтобы скрыть определённые версии, свойство Hidden должно быть установлено в yes. Изменить это можно через веб-интерфейс.
6.1. Файл .pypirc¶The .pypirc file
Формат файла .pypirc следующий:
[distutils]
index-servers =
pypi
[pypi]
repository: <repository-url>
username: <username>
password: <password>
Раздел distutils определяет переменную index-servers, которая перечисляет имена всех разделов, описывающих репозиторий.
Каждый раздел, описывающий репозиторий, задаёт три переменные:
- repository – задаёт URL сервера PyPI. По умолчанию
http://www.python.org/pypi.
username – зарегистрированное имя пользователя на сервере PyPI.
- password – пароль для аутентификации. Если опущен, пользователю
будет предложено ввести его при необходимости.
Если требуется определить другой сервер, можно создать новый раздел и указать его в переменной index-servers:
[distutils]
index-servers =
pypi
other
[pypi]
repository: <repository-url>
username: <username>
password: <password>
[other]
repository: http://example.com/pypi
username: <username>
password: <password>
Затем register можно вызвать с опцией -r, чтобы указать репозиторий для работы:
python setup.py register -r http://example.com/pypi
Для удобства также можно использовать имя раздела, описывающего репозиторий:
python setup.py register -r other