18

Im trying to install ansible-galaxy roles on Mac OS X El Capitan via CLI

$ ansible-galaxy install -r requirements.yml

I am getting this error:

ERROR! Unexpected Exception: (setuptools 1.1.6 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('setuptools>=11.3'))
the full traceback was:

Traceback (most recent call last):
  File "/usr/local/bin/ansible-galaxy", line 73, in <module>
    mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
  File "/Library/Python/2.7/site-packages/ansible/cli/galaxy.py", line 38, in <module>
    from ansible.galaxy.role import GalaxyRole
  File "/Library/Python/2.7/site-packages/ansible/galaxy/role.py", line 35, in <module>
    from ansible.playbook.role.requirement import RoleRequirement
  File "/Library/Python/2.7/site-packages/ansible/playbook/__init__.py", line 25, in <module>
    from ansible.playbook.play import Play
  File "/Library/Python/2.7/site-packages/ansible/playbook/play.py", line 27, in <module>
    from ansible.playbook.base import Base
  File "/Library/Python/2.7/site-packages/ansible/playbook/base.py", line 35, in <module>
    from ansible.parsing.dataloader import DataLoader
  File "/Library/Python/2.7/site-packages/ansible/parsing/dataloader.py", line 32, in <module>
    from ansible.parsing.vault import VaultLib
  File "/Library/Python/2.7/site-packages/ansible/parsing/vault/__init__.py", line 67, in <module>
    from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/primitives/hashes.py", line 15, in <module>
    from cryptography.hazmat.backends.interfaces import HashBackend
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module>
    import pkg_resources
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2797, in <module>
    parse_requirements(__requires__), Environment()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 580, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (setuptools 1.1.6 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('setuptools>=11.3'))
Cœur
  • 37,241
  • 25
  • 195
  • 267

1 Answers1

65

Run the following to upgrade setuptools under the python user:

pip install --upgrade setuptools --user python

For some reason, the way things are installed inside OS X (and in my case, under CentOS 7 inside a Docker container), the setuptools package doesn't get installed correctly under the right user.

geerlingguy
  • 4,682
  • 8
  • 56
  • 92
  • 3
    On my Mac, running that reinstalled setuptools-1.1.6. Collecting setuptools Downloading setuptools-22.0.0-py2.py3-none-any.whl (509kB) 100% |████████████████████████████████| 512kB 1.6MB/s Requirement already up-to-date: python in /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload Installing collected packages: setuptools Successfully installed setuptools-1.1.6 – rhuffstedtler Jun 01 '16 at 15:11
  • Even though I got the same message than @rhuffstedtler I didn't receive the warning anymore and I could proceed with the Ansible playbook I was running. – xarlymg89 Jul 01 '16 at 12:11
  • I added setuptools=11.3 to my requirements.txt and it worked. – clever_bassi Aug 22 '16 at 15:42