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?
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'
$ eb --version
3 Réponses :
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.
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:
Cliquez avec le bouton droit sur Environnements Python dans l'Explorateur de solutions et sélectionnez Ajouter un environnement.
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.
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.
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
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é.
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.