Не удалось установить pyodbc или pymssql на mac sierra

Я пытаюсь установить библиотеку Python pyodbc или pymssql, используя «pip install pyodbc» и «pip install pymssql». Однако я продолжаю получать следующее сообщение об ошибке:

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-build-upWR3q/pymssql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-DUorxp-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/mz/2w0c0vc93bb2qy5rmrnxn85h0000gn/T/pip-build-upWR3q/pymssql/

У меня уже установлены freetds, хотя во время установки я все еще получаю следующее сообщение:

setup.py: Detected Darwin/Mac OS X.
        You can install FreeTDS with Homebrew or MacPorts, or by downloading
        and compiling it yourself.

        Homebrew (http://brew.sh/)
        --------------------------
        brew install freetds

        MacPorts (http://www.macports.org/)
        -----------------------------------
        sudo port install freetds

    setup.py: Not using bundled FreeTDS

У кого-нибудь есть идеи, почему это так? Я попробовал это решение, это решение и это решение.

Это мои текущие настройки FreeTDS:

                        Version: freetds v0.91.112
         freetds.conf directory: /usr/local/Cellar/[email protected]/0.91.112/etc
 MS db-lib source compatibility: no
    Sybase binary compatibility: no
                  Thread safety: yes
                  iconv library: yes
                    TDS version: 7.1
                          iODBC: no
                       unixodbc: no
          SSPI "trusted" logins: no
                       Kerberos: no

Я также не могу установить unixodbc:

pip install unixodbc
Collecting unixodbc
  Could not find a version that satisfies the requirement unixodbc (from versions: )
No matching distribution found for unixodbc

Пожалуйста помоги?


person Sakura    schedule 25.09.2017    source источник
comment
Какую версию Python вы используете (python --version)? Вы используете virtualenv?   -  person FlipperPA    schedule 25.09.2017


Ответы (1)


Я смог установить его, выполнив следующие действия:

  1. Установите unixodbc с помощью brew install unixodbc
  2. Установите iodbc: http://www.iodbc.org/dataspace/doc/iodbc/wiki/iodbcWiki/Downloads
  3. Установите драйвер MySQL: https://dev.mysql.com/downloads/connector/odbc/
  4. Добавьте драйвер с помощью myodbc-installer -a -d -n "MySQL ODBC 5.3 Driver" -t "Driver=/usr/local/lib/libmyodbc5w.so"
  5. Обратите внимание, что /Library/ODBC/odbc.ini и /Library/ODBC/odbcinst.ini обновлены.
  6. Теперь укажите файлы odbcinst.ini/odbc.ini unixodbc, чтобы вместо них использовать ini-файлы iodbc:
  7. sudo rm /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini && sudo ln -s /Library/ODBC/odbc.ini /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini
  8. sudo rm /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini && sudo ln -s /Library/ODBC/odbcinst.ini /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini .
  9. Установите pyodbc: pip3 install pyodbc.
  10. Запустите оболочку Python (python3) и убедитесь, что вы можете найти драйвер (import pyodbc;pyodbc.drivers())

Я надеюсь, что это может помочь кому-то.

person L42    schedule 24.11.2017