Parce que j'ai eu des problèmes avec Ansible (je suis sur mac) qui semblait être corrigé dans la dernière version de développement aujourd'hui, j'ai désinstallé ansible via pip (Sudo pip uninstall ansible
) et réinstallé la dernière version de développement à partir du référentiel github en utilisant la méthode classique setup.py, qui semblait se terminer avec succès ( sortie complète ici .
Alors j'ai essayé de l'utiliser:
$ ansible --version
-bash: ansible: command not found
$ which ansible
$
J'ai vérifié où il est installé. De la sortie complète que j'ai liée à ci-dessus, j'ai trouvé qu'il est installé dans /usr/local/lib/python2.7/site-packages
, et en effet là je trouve un œuf:
$ ls -l /usr/local/lib/python2.7/site-packages | grep ansible
drwxr-xr-x 4 root admin 136 Aug 22 16:33 ansible-2.4.0-py2.7.Egg
Quand je démarre Python et vérifie le dossier site-packages, je trouve un dossier différent:
>>> import site; print site.getsitepackages()[0]
/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
mais c'est un lien symbolique vers le même dossier:
$ ls -l /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
lrwxr-xr-x 1 hielke admin 54 Aug 13 22:36 /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages -> ../../../../../../../../../lib/python2.7/site-packages
Donc je suppose que le problème est qu'aucun lien symbolique n'est créé vers le paquet ansible dans /usr/local/bin/
. Mais je ne sais pas comment je pourrais créer un tel lien symbolique et pourquoi il n'apparaîtrait pas en premier lieu.
Est-ce que quelqu'un sait comment je peux avancer d'ici? Tous les conseils sont les bienvenus!
Lorsque vous appelez ansible
à partir du shell, bash recherchera dans votre $PATH
Un fichier nommé ansible qui est exécutable. Ce n'est peut-être pas le seul problème, mais c'est la cause immédiate de l'erreur que vous voyez. Le fichier .Egg
Lui-même n'est pas un exécutable, c'est juste un fichier utilisé pour distribuer le code.
Si ansible a été installé correctement, vous devriez pouvoir le trouver en utilisant Locate ou l'interface graphique du Finder OSX. Le nom doit correspondre exactement, sans extension de fichier. Vous trouverez probablement aussi ansible-connection
, ansible-console
, Etc. au même endroit où vous trouverez l'exécutable ansible
. Si vous le trouvez, tant mieux! Testez-le et ajoutez ce répertoire à votre $PATH
Dans un terminal comme celui-ci:
export PATH=$PATH:/path/to/ansible
Où /path/to/ansible
Est le répertoire où vous avez trouvé les exécutables. Cette modification de la variable $PATH
Est temporaire et disparaîtra lorsque vous fermerez votre shell. Si vous pouvez maintenant exécuter ansible depuis bash, vous pouvez rendre la modification permanente en ajoutant cette exportation à la fin de votre fichier $HOME/.bash_profile
Ou en ajoutant une règle dans /etc/paths.d
(Recommandé par Apple) . En savoir plus sur la façon exacte de les faire ici si vous ne les connaissez pas.
Maintenant, si ce n'est pas le problème et que vous ne trouvez pas l'exécutable ansible
, l'installation elle-même est votre problème. Vous pouvez également essayer d'utiliser un environnement virtuel (si vous l'avez installé) pour vous assurer que la version que vous extrayez de github n'est pas cassée:
git clone https://github.com/ansible/ansible.git
cd ansible
virtualenv venv
source venv/bin/activate
pip install .
which ansible
Au moment d'écrire ces lignes, ce qui précède me donne une installation ansible
fonctionnelle.
Trouvez où ansible réside sur votre Mac. La plupart du temps, son /Users/<yourusername>/Library/Python/3.7/bin
ou /Users/<yourusername>/Library/Python/2.7/bin
. Ensuite ...
export PATH=$PATH:/Users/<yourusername>/Library/Python/3.7/bin
Vous pouvez le stocker dans votre .bashrc
fichier.
Eh bien, je pense que vous avez juste besoin de créer un lien logiciel
ln -s /Users/${yourname}/Library/Python/${python version}/bin/ansible /usr/local/bin/ansible
Je suggère de désinstaller Ansible et de le réinstaller en utilisant pip
selon la méthode suggérée dans les documents Ansible :
Ou si vous recherchez la dernière version de développement:
pip install git+https://github.com/ansible/ansible.git@devel
Si vous installez sur OS X Mavericks, vous pouvez rencontrer du bruit de votre compilateur. Une solution de contournement consiste à effectuer les opérations suivantes:
$ Sudo CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install ansible
Les lecteurs qui utilisent virtualenv peuvent également installer Ansible sous virtualenv, mais nous vous recommandons de ne pas vous en préoccuper et d'installer simplement Ansible à l'échelle mondiale. N'utilisez pas easy_install pour installer directement ansible.