主页

索引

模块索引

搜索页面

twine

  • twine 是一个用于上传 Python 分发包(通常是源代码包 .tar.gz 或二进制包 .whl)到 Python Package Index (PyPI) 或其他 Python 软件包存储库的工具。

  • 它通常用于发布 Python 包,并确保发布过程的安全性和可靠性,比传统的 python setup.py upload(Setuptools 内置的上传功能)更安全,因为它可以避免一些与上传直接关联的安全风险,并支持更加可靠的认证和上传机制。

安装:

pip install --upgrade twine

使用:

# 指定 ~/.pypirc 文件中指定的repo
twine upload --repository testpypi dist/*

# 指定repo url
twine upload --repository-url https://test.pypi.org/ dist/*

示例

修改 ~/.pypirc 配置 testpypi

[distutils]
index-servers =
    nexus
    pypitest

[default]
repository: nexus

[nexus]
repository=http://10.140.13.16:9081/repository/pypi/
username=admin
password=admin123

指定 testpypi 上传:

$ twine upload --repository testpypi dist/*
Uploading distributions to https://test.pypi.org/legacy/
Enter your username: peter
Enter your password:
Uploading face_push-0.0.1-py3-none-any.whl
100% ---------------------------------------- 18.6/18.6 kB • 00:00 • ?
Uploading face_push-0.0.1.tar.gz
100% ---------------------------------------- 17.5/17.5 kB • 00:00 • ?

参见:
https://test.pypi.org/project/face-push/0.0.1/

安装&使用:

pip install --index-url https://test.pypi.org/simple/ --no-deps example-package

常见问题

问题1:

ERROR    HTTPError: 400 Bad Request from http://10.140.13.16:9081/repository/pypi/
    pypi/packages/tx-agent/0.1.0/tx_agent-0.1.0-py3-none-any.whl cannot be updated

原因定位:

1. 可能是版本冲突,也就是说现在仓库中已经有指定的版本了

主页

索引

模块索引

搜索页面