Как собрать pyodbc со ссылками на iODBC в macOS?

В драйвере для pyodbc: как указать его расположение в macOS? TallTed предложил открыть вопрос, чтобы объяснить следующее

Сборка pyodbc со ссылками на iODBC (не по умолчанию для UnixODBC, что не характерно для macOS).

так что теперь с акцентом -

Как я могу собрать pyodbc со ссылками на iODBC (не по умолчанию для UnixODBC, что не характерно для macOS)?

1 ответ

Решение

Это должно / может работать в 4.0.23, как это было сделано до pyodbc v3.0.7:

Сначала в файле 'setup.py' измените строку 165 с:

settings['libraries'].append('odbc')

чтобы:

settings['libraries'].append('iodbc')

Во-вторых, отключите / удалите строки 178, 179 и 183.

    # Add directories for MacPorts and Homebrew.
    #dirs = ['/usr/local/include', '/opt/local/include','~/homebrew/include']
    #settings['include_dirs'].extend(dir for dir in dirs if isdir(dir))

    # unixODBC make/install places libodbc.dylib in /usr/local/lib/ by default
    # ( also OS/X since El Capitan prevents /usr/lib from being accessed )
    #settings['library_dirs'] = [ '/usr/local/lib' ]

Для справки смотрите файл "setup.py" начиная с pyodbc 3.0.7, начиная со строки 146:

https://github.com/mkleehammer/pyodbc/blob/3.0.7/setup.py

Примечание: для этого будет использоваться система macos, поставляемая - и предположительно устаревшая - libiodbc.dylib в / usr / lib. Однако не уверен, где iODBC Framework устанавливает файлы iODBC. Может быть, TallTed может прокомментировать это?

Другие вопросы по тегам