Traceback (most recent call last):

 "/usr/local/bin/salt-key", line 18, in <module>
main()

 "/usr/local/bin/salt-key", line 14, in main
saltkey.run()

 "/usr/local/lib/python2.7/dist-packages/salt/cli/__init__.py", line 633, in run
self.opts['loglevel'])

 "/usr/local/lib/python2.7/dist-packages/salt/log.py", line 94, in setup_logfile_logger
log_path, 'a', 'utf-8', delay=0

 "/usr/lib/python2.7/logging/handlers.py", line 386, in __init__
logging.
Handler.__init__(self, filename, mode, encoding, delay)

 "/usr/lib/python2.7/logging/__init__.py", line 893, in __init__
StreamHandler.__init__(self, self._open())

 "/usr/lib/python2.7/logging/__init__.py", line 914, in _open
stream = codecs.open(self.base
name, self.mode, self.encoding)

 "/usr/lib/python2.7/codecs.py", line 881, in open
file = __builtin__.open(filename, mode, buffering)IOError: [Errno 2] No such file or directory: '/var/log/salt/key.log'
Traceback (most recent call last):


 "/Users/hhp21/Documents/sandbox/csvlink/venv/bin/csvlink", line 11, in <module>

sys.exit(launch_new_instance())


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/csvdedupe/csvlink.py", line 208, in launch_new_instance

d.main()


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/csvdedupe/csvlink.py", line 135, in main

self.dedupe_training(deduper)


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/csvdedupe/csvhelpers.py", line 267, in dedupe_training

deduper.train()


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/api.py", line 655, in train

self._trainBlocker(recall, index_predicates)


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/api.py", line 666, in _trainBlocker

recall)


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 47, in learn

final_predicates = searcher.search(dupe_cover)


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 257, in search

self.search(remaining, partial + (best_predicate,))


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 257, in search

self.search(remaining, partial + (best_predicate,))


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 257, in search

self.search(remaining, partial + (best_predicate,))


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 257, in search

self.search(remaining, partial + (best_predicate,))


 "/Users/hhp21/Documents/sandbox/csvlink/venv/lib/python3.5/site-packages/dedupe/training.py", line 260, in search

reachable = covered + len(set.union(*reduced.values()))
TypeError: descriptor 'union' of 'set' object needs an argument
