🛠 Локальный PyPI сервер (pypiserver)#
1. Установи pypiserver#
(желательно в отдельное окружение, если хочешь)
pip install pypiserver
2. Подготовь папку для пакетов#
Создай папку, где будут лежать твои .whl файлы:
mkdir ~/my-pypi-server
Скопируй туда собранные .whl файлы:
cp packages/nlp/dist/nlp-0.1.0-py3-none-any.whl ~/my-pypi-server/
cp packages/datacleaner/dist/datacleaner-0.1.0-py3-none-any.whl ~/my-pypi-server/
3. Запусти pypiserver#
pypi-server run -p 8080 ~/my-pypi-server
Что происходит:
-p 8080— сервер стартует на порту 8080 (можно изменить).~/my-pypi-server— каталог, где хранятся.whlи.tar.gzпакеты.
После запуска у тебя будет работать локальный PyPI-сервер на:
http://localhost:8080/
4. Установить свой пакет#
Теперь в любом проекте ты можешь установить свой пакет так:
pip install --index-url http://localhost:8080/simple/ nlp
Обрати внимание на simple/ в конце URL — это стандарт PyPI протокола.
💡 Чтобы не писать долго#
Можно сохранить адрес в pip.conf, чтобы всегда использовать твой сервер без параметров.
Пример ~/.config/pip/pip.conf:
[global]
index-url = http://localhost:8080/simple/
Тогда достаточно будет просто:
pip install nlp
и pip сам будет ходить на твой локальный сервер.
🔥 Бонус — Автоматизация#
Чтобы ещё упростить себе жизнь:
Напиши скриптик
run_pypi.sh:
#!/bin/bash
pypi-server run -p 8080 ~/my-pypi-server
Положи его рядом с проектами и запускай сервер в один клик.
⚡ Важные нюансы#
pypiserver— очень лёгкий и не требует базы данных.Он не строит индекс автоматически — нужно положить
.whlили.tar.gzфайлы в папку.По умолчанию нет авторизации. Это для локальной разработки, не для продакшена.
Если надо добавить новую версию пакета — просто скопируй новый
.whlв папку!
✨ Итого#
Что сделаешь |
Что получишь |
|---|---|
|
Локальный сервер |
|
Установка по имени |
Автоматизация через |
Ещё проще установка |