Ошибка при загрузке пакета python с конвейерами Azure

#python #azure #azure-devops #azure-pipelines

Вопрос:

Я пытаюсь использовать конвейеры Azure для создания и отправки пакета в канал артефактов Azure. Файл конвейера azure:

 - script: |
    pip install wheel
    pip install twine
  displayName: 'Install wheel and twine'

- script: |
    python setup.py bdist_wheel
  displayName: 'Build package'
    
- task: TwineAuthenticate@1
  displayName: 'Twine Authenticate'
  inputs:
    artifactFeed: 'PythonPackages'

- script: |
    cat $(PYPIRC_PATH)
    python -m twine upload -r PythonPackages --verbose --config-file $(PYPIRC_PATH) dist/*.whl
  displayName: 'Publish package'
 

Но я получаю следующую ошибку:

 Uploading nxgeometry-0.1-py3-none-any.whl

  0%|          | 0.00/3.90k [00:00<?, ?B/s]
100%|██████████| 3.90k/3.90k [00:00<00:00, 4.12kB/s]
Content received from server:
{"$id":"1","innerException":null,"message":"The URL '#' is invalid.","typeName":"Microsoft.VisualStudio.Services.Packaging.Shared.WebApi.Exceptions.InvalidPackageException, Microsoft.VisualStudio.Services.Packaging.Shared.WebApi","typeKey":"InvalidPackageException","errorCode":0,"eventId":3000}
HTTPError: 400 Bad Request from https://pkgs.dev.azure.com/MyOrganization/_packaging/PythonPackages/pypi/upload
Bad Request - The URL '#' is invalid. (DevOps Activity ID: 6E1BE784-A98A-4052-BC7F-B4E4DB7231F0)
##[error]Bash exited with code '1'.
Finishing: Publish package
 

Есть какие-нибудь идеи?

Ответ №1:

В вашем setup.py , задайте URL-адрес ссылки Azure DevOps репозитория, из которого вы пытаетесь опубликовать. Ошибка должна быть вызвана URL-адресом в вашем setup.py отличается от URL-адреса репозитория.

Например

 setup(
    name='omega',
    packages=['omega'],
    description='Omega package for shared functions',
    version='0.1',
    url='https://dev.azure.com/<organization-name>/<project-name>/_git/<repository-name>',
    author='Bond, James Bond',
    author_email='bond@mi6.secret',
    keywords=['pip','omega']
)