singer-io / getting-started

This repository is a getting started guide to Singer.
https://singer.io
1.26k stars 148 forks source link

On OS X El Capitan+, installing a tap/target fails because of a conflict with python six. #11

Closed mattmonihan closed 5 years ago

mattmonihan commented 7 years ago

Issue

Running $ pip install target-gsheet tap-fixerio for the first time fails with the following exception:

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip/wheel.py", line 316, in clobber
    ensure_dir(destdir)
  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/functools32'

This is specific to OS X El capitan+ (I'm on sierra). More info here: https://github.com/pypa/pip/issues/3165 Apparently, there's a conflict with the system installed version of python six.

solution

The fix for me was to run $ sudo pip install --ignore-installed six Then: $ sudo pip install target-gsheet tap-fixerio note: sudo on both.

This isn't an issue for me anymore, but I'd anticipate more people will run into it in the future.

luandy64 commented 5 years ago

Hi @mattmonihan,

Thanks for bringing this up! Regarding your $ pip install target-gsheet tap-fixerio, this is not the recommended way to install and run taps and/or targets, so I'm closing this issue.