Сначала устанавливаем Nexus на сервер и добавляем нужные репозитории, например Pypi.

 

После чего выполняем следующие настройки клиентах:

vim /etc/pip.conf

[global]
index = https://pypi.python.org/pypi/
index-url=https://pypi.python.org/simple/
extra-index-url=https://USER_NAME:This email address is being protected from spambots. You need JavaScript enabled to view it./repository/pypi-internal/simple/

 

vim ~/.pypirc

[distutils]
index-servers =
    pypi
    nexus

[pypi]
repository: https://pypi.python.org/pypi

[nexus]
repository: https://cp38.ru/repository/pypi-internal/
username: USER_NAME
password: USER_PASSWORD

 

Проверяем все командой:

# pip config list -v

 

Далее:

Загрузить в репозиторий:

# twine upload -r nexus hello-world-0.4-test.tar.gz 

или:

# python setup.py bdist_wheel

# twine upload -r nexus dist/*

 

Установить пакет из нашего репозитория:

# pip install hello-world --user

или:

# pip install hello-world==0.2 --user

 

Загрузить пакет с ручным вводом пароля авторизации:
# twine upload --repository-url https://cp38.ru/repository/pypi-internal/ hello-world-0.5-test.tar.gz

 

Установить пакет с ручным вводом пароля авторизации:

# pip install --index-url https://cp38.ru/repository/pypi-internal/simple hello-world

 

 

Ссылки:

https://rtfm.co.ua/nexus-ustanovka-zapusk-deploj-v-repozitorij-nginx-i-ssl/

https://help.sonatype.com/repomanager3/formats/pypi-repositories 

https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56 

https://python-packaging-tutorial.readthedocs.io/en/latest/uploading_pypi.html