2
votes

ne peut plus démarrer ma fonction azure dans vscode

Je suis dans windowns 10. Je développais ma fonction python azure dans vscode et je la testais dans l'hôte local. Tout allait bien jusqu'à récemment. J'ai essayé de démarrer mes fonctions azure, mais j'ai reçu des messages d'erreur comme ci-dessous:

Exception has occurred: ModuleNotFoundError
No module named 'grpc_tools'
  File "c:\users\myusername\appdata\roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.7\windows\x64\grpc\__init__.py", line 2034, in <module>
    import grpc_tools
  File "c:\users\myusername\appdata\roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.7\windows\x64\azure_functions_worker\dispatcher.py", line 16, in <module>
    import grpc
  File "c:\users\myusername\appdata\roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.7\windows\x64\azure_functions_worker\main.py", line 7, in <module>
    from . import dispatcher
  File "c:\users\myusername\appdata\roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.7\windows\x64\worker.py", line 59, in <module>
    from azure_functions_worker import main

Je n'ai rien changé depuis la dernière fois que j'ai testé ma fonction azur. Je n'ai aucune idée de pourquoi j'ai reçu le message d'erreur. Quelqu'un sait-il ce que signifie le message d'erreur? quel froid être la solution au problème?

Quelque chose ne va pas avec les azure-functions-core-tools ? Le problème est que je n'ai rien changé du tout. Mais maintenant, il a cessé de fonctionner sans raison. Je l'apprécie vraiment si quelqu'un peut vous aider. Merci.


2 commentaires

Votre application se trouve-t-elle dans un sous-dossier et utilise également Core Tools 2.x? Si tel est le cas, accédez au dossier racine de votre application et exécutez à nouveau func start . Vous pouvez également essayer de mettre à jour les outils de base des fonctions vers la dernière version.


Une mise à jour sur cette question? :)


4 Réponses :


1
votes

Moi et un collègue avons exactement le même problème. Essayer d'installer manuellement les packages fonctionne, mais je considère cela comme un contournement.

De plus, vous irez dans le terrier du lapin, car chaque fois que vous ajoutez un paquet, un autre ne fonctionnera pas.

Je pense qu'il y a eu une mise à jour qui a cassé les choses. J'essaie maintenant de savoir comment rétrograder certains des outils azure pour voir si cela aide.

(désolé ce n'est pas une solution complète, je ne suis pas autorisé à publier un commentaire)

//Éditer//

Funning func start partir du cli cela fonctionne pour moi, courir à partir de vscode produit toujours des erreurs.


2 commentaires

dois-je faire pip install grpc_tools ? Il a échoué et m'a demandé d'installer grpcio_tools . Je l'ai fait et cela dit que je manque d'autres modules. Dois-je continuer à installer? Voulez-vous dire que cela fonctionne pour vous? dois-je installer à l'intérieur de venv ou à l'extérieur? Merci beaucoup!


Eh bien, les installer manuellement donnera simplement d'autres erreurs d'importation. Lorsque vous n'avez pas tout ce dont vous avez besoin pour grpcio, il plantera alors sur: "impossible d'importer le nom 'enable_deterministic_proto_serialization' de 'google.protobuf'" Vous pouvez simplement exécuter la fonction à partir de la ligne de commande, func host start ou func start fonctionne pour moi ( sans rien installer de plus) Mais cela signifie que vous n'avez pas de débogueur attaché et que vous ne pouvez pas déboguer l'application, mais que vous pouvez l'exécuter.



0
votes

J'ai exactement le même problème. Semble être un problème courant, pas localement.

Cordialement, Michael


0 commentaires

1
votes

J'ai eu le même problème qui a commencé à apparaître hier après quelques mois sans travailler avec Azure Functions et sur un nouvel ordinateur portable.

J'ai constaté que vous pouvez désactiver les alertes d'exception dans le débogueur Visual Studio Code.

Qui peut être trouvé dans le coin inférieur gauche lors du débogage sous les points d'arrêt

Par défaut, les exceptions non interceptées et les exceptions utilisateur non interceptées sont cochées: décochez-les et cela empêchera le débogueur d'afficher les exceptions.


0 commentaires

0
votes

Avoir le même problème. "func start" fonctionne correctement cependant


0 commentaires