> **Источник:** https://python-all.ru/2.6/distutils/packageindex.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 6. Регистрация в индексе пакетов

Индекс пакетов Python (PyPI) содержит метаданные, описывающие дистрибутивы, упакованные с помощью distutils. Команда distutils **register** используется для отправки метаданных вашего дистрибутива в индекс. Она вызывается следующим образом:

```python
python setup.py register
```

Distutils ответит следующим приглашением:

```python
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

Формат файла `.pypirc` следующий:

```python
[distutils]
index-servers =
  pypi

[pypi]
repository: <repository-url>
username: <username>
password: <password>
```

*Репозиторий* можно не указывать; по умолчанию используется `http://www.python.org/pypi`.

Если нужно определить другой сервер, можно создать новый раздел:

```python
[distutils]
index-servers =
  pypi
  other

[pypi]
repository: <repository-url>
username: <username>
password: <password>

[other]
repository: http://example.com/pypi
username: <username>
password: <password>
```

Затем команду можно вызвать с опцией -r:

```python
python setup.py register -r http://example.com/pypi
```

Или даже с именем раздела:

```python
python setup.py register -r other
```
