PyPI

https://help.sonatype.com/repomanager3/formats/pypi-repositories
У меня задача - создать локальный репозитрий, куда загрузить необходимые проектам зависимости.
Итак. Я создал в nexus репозитрий pypi hosted и назвал его pypi-local.
В итоге - он доступен по адресу: http://repos.rdleas.ru/repository/pypi-local/

Использование созданного репозитория

Для того, чтобы использовать созданный репозиторий нужно прописать его в файле pip.conf. В засисимости от обстоятельств, расположение этого файла может быть различным: https://pip.pypa.io/en/stable/user_guide/#config-file

[global]
index = http://repos.rdleas.ru/repository/pypi-local/pypi
index-url = http://repos.rdleas.ru/repository/pypi-local/simple
#cert = nexus.pem

Если репозитрий защищен паролем, то учестные данные можно прописать в файле .pypirc

[distutils]
index-servers = pypi
[pypi]
repository: http://repos.rdleas.ru/repository/pypi-local/
username: admin
password: admin123

Если репозиторий http (не https), то нужно прописать его в trusted hosts:

[global]
trusted-host = repos.rdleas.ru
index = http://repos.rdleas.ru/repository/pypi-local/pypi
index-url = http://repos.rdleas.ru/repository/pypi-local/simple

https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
Для того чтобы запушить пакет в созданный репозиторий воспользуемся twine.
Установим его:

sudo pip3 install twine

Теперь можно аплоадить. Ключ -r (или –repository) указывает на репозитрий, прописанный в .pypirc:

twine upload -r pypi <filename>
#!/bin/bash
set +e
packages="./packages"
proxy_user="user"
proxy_pass="pass"
sudo bash -c "pip3 install --proxy http://$proxy_user:$proxy_pass@10.77.70.6:3128 twine"

while read -r package
do
  echo "+++++++++++++++++++++++ $package +++++++++++++++++++++++++"
  bash -c "pip3 download --proxy http://$proxy_user:$proxy_pass@10.77.70.6:3128 $package"
done < "$packages"

for f in ./*.whl ./*.tar.gz
do
 echo "Uploading $f"
 twine upload -r pypi $f
done
Enter your comment. Wiki syntax is allowed:
 
  • devops/nexus.txt
  • Last modified: 2021/03/15 09:46
  • by admin