Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ModuleNotFoundError on `azdev extension publish`

Abierto
#529 0 comentarios 0 reacciones 0 asignados Ver en GitHub

@german1608 ya está trabajando en esto.

Desde el 7/10/2025.

  • #530 de @german1608 — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
cli, devtools

Línea de trabajo

Comienza en azdev/operations/extensions/init.py, alrededor de la importación de BlockBlobService, e inspecciona setup.py, donde se declara azure-multiapi-storage. Reproduce el fallo con azdev extension publish usando el entorno indicado y, después, verifica que la migración de la API de almacenamiento y los cambios en las dependencias permiten ejecutar el comando sin ModuleNotFoundError.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

I'm attempting to use azdev extension publish, but I'm getting the following error:

No module named 'azure.multiapi.storage'
Traceback (most recent call last):
  File "/home/gerobayopaz/aaz-env/lib/python3.10/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/home/gerobayopaz/aaz-env/lib/python3.10/site-packages/knack/invocation.py", line 224, in execute
    cmd_result = parsed_args.func(params)
  File "/home/gerobayopaz/aaz-env/lib/python3.10/site-packages/knack/commands.py", line 149, in __call__
    return self.handler(*args, **kwargs)
  File "/home/gerobayopaz/aaz-env/lib/python3.10/site-packages/knack/commands.py", line 256, in _command_handler
    result = op(client, **command_args) if client else op(**command_args)
  File "/home/gerobayopaz/aaz-env/lib/python3.10/site-packages/azdev/operations/extensions/__init__.py", line 311, in publish_extensions
    from azure.multiapi.storage.v2018_11_09.blob import BlockBlobService
ModuleNotFoundError: No module named 'azure.multiapi.storage'

I inspected the source code, and here we are importing the BlockBlocService from the azure-multiapi-storage package

https://github.com/Azure/azure-cli-dev-tools/blob/ce90f1cf9aad0ee0f6017aef49bac8917f1aeded/azdev/operations/extensions/__init__.py#L309-L311

and setup.py declares it as a dependency, but without a version boundary.

https://github.com/Azure/azure-cli-dev-tools/blob/ce90f1cf9aad0ee0f6017aef49bac8917f1aeded/setup.py#L69-L70

But I think the most important thing is that this need to be migrated to use storagev2 api.

Version info

azdev
azdev --version

Output


Python (Linux) 3.10.12 (main, Aug 15 2025, 14:32:43) [GCC 11.4.0]

Python location '/home/gerobayopaz/aaz-env/bin/python'
azure-multiapi-storage
pip show azure-multiapi-storage

Output:

Name: azure-multiapi-storage
Version: 1.5.0
Summary: Microsoft Azure Storage Client Library for Python with multi API version support.
Home-page: https://github.com/Azure/azure-multiapi-storage-python
Author: Microsoft Corporation
Author-email: [email protected]
License: MIT
Location: /home/gerobayopaz/aaz-env/lib/python3.10/site-packages
Requires: azure-common, azure-core, cryptography, msrest, python-dateutil, requests
Required-by: azdev, azure-cli
Lenguaje dominante
Python
Estrellas
91
Forks
134
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Azure/azure-cli-dev-tools

Todos los issues de Azure/azure-cli-dev-tools

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.