Python-发布到 Artifactory 的诗歌错误

Python-Poetry Errors Publishing to Artifactory

我正在使用诗歌 (1.1.12) 发布到我们的 Artifactory 实例。我已经尝试了几个不同的 URL 来发布,我要么得到 405(不允许的方法),要么得到 415(不支持的媒体类型)

https://my.domain/artifactory/my-cool-reg/  --> 405
https://my-cool-reg.my.domain/artifactory/api/pypi/pypi/simple/  -> 415

我是否缺少一些让出版继续进行的魔法?我尝试在 CLI 上使用 -u-p 传递我的凭据,以及通过 -r my_reporepository 传递凭据配置。下面是一个示例错误消息(来自 pypi url 测试)

  UploadError

  HTTP Error 415: Unsupported Media Type

  at ~/.local/share/pypoetry/venv/lib/python3.10/site-packages/poetry/publishing/uploader.py:216 in _upload
      212│                     self._register(session, url)
      213│                 except HTTPError as e:
      214│                     raise UploadError(e)
      215│ 
    → 216│             raise UploadError(e)
      217│ 
      218│     def _do_upload(
      219│         self, session, url, dry_run=False
      220│     ):  # type: (requests.Session, str, Optional[bool]) -> None

geudrik - 对于 PyPI 部署,本地配置 (.pypirc) 应使用 API 端点定义为 http://pythonpublishtest.com/artifactory/api/pypi/test-pypi-local

/api/pypi 是必需的端点,test-pypi-local 我在 URL 这里是本地仓库。出现 HTTP 405 和 HTTP 415 错误的原因可能是 missing/incorrect API 端点或缺少部署存储库。

我看到您正在尝试使用以下 URL (https://my-cool-reg.my.domain/artifactory/api/pypi/pypi/simple/) 进行发布。您能否从 URI 中删除“简单”并包含您的 PyPI 本地存储库的名称并验证是否有效?

[补充说明] Artifactory 还支持通过虚拟存储库部署工件。为了启用它,我们需要定义要由虚拟存储库聚合的本地存储库作为部署目标。可以通过在虚拟存储库设置下设置默认部署存储库来实现。

老天,我已经弄明白了

$ poetry config repositories.poetry-repo-name https://artifactory.domain.lan/artifactory/api/pypi/your-cool-repository