3
votes

ModuleNotFoundError: aucun module nommé 'ebcli'

Lorsque j'ai essayé de vérifier la version d'aws elastic-beanstalk par 'eb --version' dans le terminal de code de Visual Studio, une erreur s'est produite: ModuleNotFoundError: Aucun module nommé 'ebcli'. Comment pour résoudre ce problème?

Terminal:

entrée :

import sys
import ebcli.core.ebcore

def main():
    return ebcli.core.ebcore.main()

if __name__ == '__main__':
    sys.exit(main())

sortie :

Traceback (most recent call last):
  File "C:/Users/likelion_MC/AppData/Roaming/Python/Python37/Scripts/eb", 
line 12, in <module>
    import ebcli.core.ebcore
ModuleNotFoundError: No module named 'ebcli'

Ceci est mon fichier eb:

$ eb --version 


8 commentaires

Utilisez-vous l'environnement virtuel et vous êtes-vous assuré de l'activer?


Oui, je l'ai installé par 'python -m venv myvenv'


Comme @cagrias le suggère, je ne pense pas que vous ayez activé le venv ... soit que vous ayez installé eb en dehors de "myvenv" par erreur.


@urbanespaceman J'ai fait ce que vous aviez suggéré, mais cela n'a pas été résolu.


Si vous répertoriez les packages que vous utilisez avec la commande pip freeze , eb s'affiche-t-il?


Convenez que VE est suspect. En outre, les IDE doivent généralement être configurés pour utiliser le VE comme interprète. Supprimez l'utilisation de l'EDI et activez / importez en ligne de commande uniquement. Essayez ce que Original BBQ a dit, mais dans le terminal VENV, pas dans IDE


@OriginalBBQSauce Ouais ... J'ai vérifié s'il était installé, mais ce n'est pas le cas. Donc, je l'ai installé par pip install eb . Cependant, le problème n'est pas résolu.


@MCbot Donc, comme les autres, je pense que le problème est que soit vous n'avez pas activé votre environnement virtuel, soit vous installez les packages globalement plutôt que dans l'environnement. OMI, je n'aime pas venv précisément à cause de ces confusions. Je suis passé à pipenv ( pipenv.readthedocs.io ), qui unit pip et venv sous les mêmes commandes et havre Je n'ai plus de problème comme ça depuis.


3 Réponses :


0
votes

Vérifiez votre version de pip, vous avez peut-être utilisé venv lors de son installation et vous l'avez vérifiée globalement ou inversement.


0 commentaires

0
votes

D'après les informations contenues dans les commentaires, vous disposez d'un environnement virtuel. Pour l'activer dans Visual Studio:

Activer un environnement virtuel existant

Si vous avez déjà créé un environnement virtuel ailleurs, vous pouvez l'activer pour un projet comme suit:

  1. Cliquez avec le bouton droit sur Environnements Python dans l'Explorateur de solutions et sélectionnez Ajouter un environnement.

  2. Dans la boîte de dialogue Parcourir qui apparaît, recherchez et sélectionnez le dossier contenant l'environnement virtuel, puis sélectionnez OK. Si Visual Studio détecte un fichier requirements.txt dans cet environnement, il vous demande s'il faut installer ces packages.

  3. Après quelques instants, l'environnement virtuel apparaît sous le nœud Environnements Python dans l'Explorateur de solutions. L'environnement virtuel n'est pas activé par défaut, alors faites un clic droit dessus et sélectionnez Activer l'environnement.

https://docs.microsoft.com/en-us/visualstudio/python/selecting-a-python-environment-for-a-project?view=vs-2019 p>

Dans Visual Studio Code:

Pour sélectionner un environnement spécifique, utilisez la commande Python: Select Interpreter dans la palette de commandes

https://code.visualstudio.com/docs/python/environments

Pour tester si votre environnement virtuel fonctionne, vous devez aller sur la ligne de commande et l'activer, puis vous assurer que ebcli est installé. Tout d'abord, cd dans le répertoire de votre projet.

Unix:

C:\> myvenv\Scripts\activate.bat
C:\> pip install ebcli

Windows:

$ source myvenv/bin/activate
(env) $ pip install ebcli


0 commentaires

0
votes

Le problème vient du hashbang sur la première ligne du script eb

Si vous ouvrez le script /Users/john/.ebcli-virtual-env/bin/eb , vous remarquerez que python3 dans le hashbang est codé en dur en python3 global #! / usr / local / bin / python3 .

Pendant l'installation du script d'installation dans un virtualenv, le script de commande principal fait toujours référence au python global.

Je viens de le changer en #! / usr / bin / env python3 et tout a fonctionné.


0 commentaires